@xsyx/common-portal
v0.1.30
Published
```javascript import commonPortal from '@xsyx/common-portal'
Downloads
40
Readme
通用 PORTAL 平台原型
import commonPortal from '@xsyx/common-portal'
// use
<common-portal injections brand system-name nav-src default-open default-active/>
- injections: 可选,注入配置,调试时期用于模拟数据
- brand: string, 平台左上角logo
- system-name: string, 平台名称
- nav-src: function, 返回一个获取导航配置的 Promise
- default-open: array, 当前展开的导航项
- default-active: string, 默认选中项
业务模块通用要求
- 名称规范: m-业务名-功能名
如: m-basic-setting, m-basic-userlist
- 为了和 one portal 对接, 入口要求以function 包裹,从而接入 portal 应用的上下文,如下
vue 默认
new Vue({
el: selector,
render(h){
return h(App);
},
})
注入 portal 上下文
export default function(selector, context){
return new Vue({
el: selector,
render(h){
return h(App);
},
})
}
编译选项
- 为了集成到 on portal 应用,业务模块必须以 umd 规范输出;
- 为了使用 unpkg 动态加载,业务模块必须取消代码分割,同时内联css
- 可将 Vue element 作为 externals 输出,减少业务模块打包体积
module.exports = {
filenameHashing: false,
configureWebpack: () => ({
// ...
// 取消代码分割
optimization: {
splitChunks: false
},
// 抽出公共资源减少打包体积
externals: {
vue: 'Vue',
'element-ui': 'ELEMENT',
}
// ...
}),
// 样式内联
css: {
extract: false
},
// ...
}