提交 23aeef05 编写于 作者: fxy060608's avatar fxy060608

wip(app): nvue

上级 ffafdf3b
......@@ -10,7 +10,7 @@
},
{
"input": {
"src/service/index.ts": "dist/uni-app-service.es.js"
"src/service/index.ts": "dist/uni.runtime.esm.js"
},
"output": {
"freeze": false,
......
......@@ -4,7 +4,7 @@
"src/service/index.ts": ["dist/service.runtime.esm.dev.js"]
},
"output": {
"banner": "export default function vueFactory (exports) {\n",
"banner": "export function vueFactory (exports) {\n",
"footer": "}"
},
"replacements": {
......@@ -20,7 +20,7 @@
"src/service/index.ts": ["dist/service.runtime.esm.prod.js"]
},
"output": {
"banner": "export default function vueFactory (exports) {\n",
"banner": "export function vueFactory (exports) {\n",
"footer": "}"
},
"replacements": {
......@@ -40,29 +40,5 @@
"__VUE_PROD_DEVTOOLS__": "false"
},
"external": ["@vue/shared"]
},
{
"input": {
"src/nvue/factory.ts": ["dist/nvue.factory.cjs.js"]
},
"output": {
"banner": "export default function vueFactory (exports) {\n",
"footer": "}"
},
"replacements": {
"process.env.NODE_ENV": "\"production\""
},
"external": false,
"babel": true
},
{
"input": {
"src/nvue/index.ts": ["dist/nvue.service.cjs.js"]
},
"replacements": {
"process.env.NODE_ENV": "\"production\""
},
"external": false,
"babel": true
}
]
此差异已折叠。
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
}); // eslint-disable-next-line no-restricted-globals
var VueFactory = require('./nvue.factory.cjs');
var instanceOptions = {};
function createInstanceContext(instanceId, runtimeContext) {
var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var nvue = runtimeContext.nvue;
var instance = instanceOptions[instanceId] = {
instanceId,
config: nvue.config,
document: nvue.document,
data
};
var Vue = instance.Vue = createVueModuleInstance(instanceId, nvue, runtimeContext.SharedObject);
var instanceContext = {
Vue
};
Object.freeze(instanceContext);
return instanceContext;
}
function destroyInstance(instanceId) {
var instance = instanceOptions[instanceId];
if (instance && instance.app && instance.document) {
try {
instance.app.$.appContext.app.unmount();
instance.document.destroy();
} catch (e) {}
delete instance.document;
delete instance.app;
}
delete instanceOptions[instanceId];
}
function refreshInstance(instanceId, data) {
var instance = instanceOptions[instanceId];
if (!instance || !instance.app) {
return new Error("refreshInstance: instance ".concat(instanceId, " not found!"));
}
instance.document.taskCenter.send('dom', {
action: 'refreshFinish'
}, []);
}
function createVueModuleInstance(instanceId, nvue, SharedObject) {
var exports = {};
VueFactory(exports, nvue.document, SharedObject);
var Vue = exports.Vue;
var {
createApp
} = Vue;
Vue.createApp = (rootComponent, rootProps) => initApp(createApp(rootComponent, rootProps), {
instanceId,
nvue
});
return Vue;
}
function initApp(app, _ref) {
var {
instanceId,
nvue
} = _ref;
var {
config: {
compilerOptions,
globalProperties
},
mount
} = app;
compilerOptions.isCustomElement = name => {
return !!nvue.supports("@component/".concat(name));
};
var instance = instanceOptions[instanceId];
globalProperties.$instanceId = instanceId;
globalProperties.$document = instance.document;
globalProperties.$requireModule = nvue.requireModule;
app.mount = rootContainer => {
var proxy = instance.app = mount(rootContainer);
if (rootContainer === '#root') {
try {
// Send "createFinish" signal to native.
nvue.document.taskCenter.send('dom', {
action: 'createFinish'
}, []);
} catch (e) {}
}
return proxy;
};
return app;
}
exports.createInstanceContext = createInstanceContext;
exports.destroyInstance = destroyInstance;
exports.refreshInstance = refreshInstance;
export default function vueFactory(exports) {
export function vueFactory(exports) {
/**
* Make a map and return a function for checking if a key
* is in that map.
......
export default function vueFactory(exports) {
export function vueFactory(exports) {
/**
* Make a map and return a function for checking if a key
* is in that map.
......
此差异已折叠。
......@@ -17,8 +17,5 @@
"bugs": {
"url": "https://github.com/dcloudio/uni-app/issues"
},
"gitHead": "33e807d66e1fe47e2ee08ad9c59247e37b8884da",
"devDependencies": {
"@dcloudio/uni-shared": "3.0.0-alpha-3030820220114001"
}
"gitHead": "33e807d66e1fe47e2ee08ad9c59247e37b8884da"
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册