Match-id-0aa7af9b42fd69fca90b5f8d9b55d3a19e3234fe

This commit is contained in:
* 2022-05-12 22:12:27 +08:00 committed by *
parent 0ae3910553
commit 5fa9f49496
4 changed files with 10 additions and 1 deletions

View File

@ -51,6 +51,7 @@ chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
changeSource(message, DevToolBackground);
connections[tabId].postMessage(message);
} else {
// TODO: 如果查询失败,发送 chrome message请求 panel 主动建立连接
console.log('Tab not found in connection list.');
}
} else {

View File

@ -134,6 +134,7 @@ let helper;
function init(horizonHelper) {
helper = horizonHelper;
window.__HORIZON_DEV_HOOK__.isInit = true;
}
function injectHook() {
@ -144,6 +145,7 @@ function injectHook() {
enumerable: false,
value: {
init,
isInit: false,
addIfNotInclude,
send,
deleteVNode,

View File

@ -74,7 +74,7 @@ export const helper = {
},
};
function injectUpdater() {
export function injectUpdater() {
const hook = window.__HORIZON_DEV_HOOK__;
if (hook) {
hook.init(helper);

View File

@ -36,6 +36,7 @@ import {
updateShouldUpdateOfTree
} from './vnode/VNodeShouldUpdate';
import { getPathArr } from './utils/vNodePath';
import { injectUpdater } from '../external/devtools';
// 不可恢复错误
let unrecoverableErrorDuringBuild: any = null;
@ -281,6 +282,11 @@ function renderFromRoot(treeRoot) {
if (window.__HORIZON_DEV_HOOK__) {
const hook = window.__HORIZON_DEV_HOOK__;
// injector.js 可能在 Horizon 代码之后加载,此时无 __HORIZON_DEV_HOOK__ 全局变量
// Horizon 代码初次加载时不会初始化 helper
if (!hook.isInit) {
injectUpdater();
}
hook.addIfNotInclude(treeRoot);
hook.send(treeRoot);
}