UNPKG

vue-cli-plugin-joinzht-lib

Version:

接入中后台插件

42 lines (40 loc) 1.44 kB
/** * 子应用main.js 所需配置项 * 如果遇到不能无法替换main.js 的情况 可能是 Vue的实例化不在此文件里 * 请将以下代码 直接放在 main.js的最后 并将 $1替换成 new Vue({...}) * 如遇项目报错 也请手动替换 */ exports.replacement = ` let instance const { name } = require('../package.json') function render () { instance = $1 } // 判断 package.json 字段和 router的 base字段一致不 const { base, mode } = router.options if (window.__POWERED_BY_QIANKUN__) { if (mode !== 'history') { throw new Error('在此子应用中router.js 中开启 browserhistory,不懂联系csj') } else if ('/' + name !== base) { throw new Error('请保证router.js 中 base字段与 package.json字段一致 如 /sub-app1 不懂联系csj') } } // 确保子应用独立运行 window.__POWERED_BY_QIANKUN__ || render() export async function bootstrap (props = {}) { // 父应用传递的值 挂载vue原型上 默认有 userInfo token // 在页面中可通过 this.parentData 获取 Vue.prototype.parentData = {...props.data} // 父应用传递的 方法 挂载原型上 默认有 退出方法 portal_logout // 在页面中可通过 this.parentFns 获取 Vue.prototype.parentFns = props.fns } export async function mount () { // console.log('子应用 加载完毕') render() } export async function unmount () { instance.$destroy() instance = null } `