vue-cli-plugin-joinzht-lib
Version:
接入中后台插件
42 lines (40 loc) • 1.44 kB
JavaScript
/**
* 子应用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
}
`