开始先思考一下:
vue项目vue-demo,依赖三个npm包,分别是npm1,npm2,npm3这三个,当你npm install之后会出现在node_modoules文件夹中,这三个包分别是可以独立运行的,并且这三个包在vue-demo中可以improt的方式引用使用。
此时,细想一下是不是可以认为这就是一个简单的微前端模式。想明白这一点,接下来需要将子npm包中的router、vuex、css等导出,便于vue-demo调用。
1. 首先创建子npm包
创建具体步骤可自行查找,(比如:www.jianshu.com/p/9a9ed7eaf…)。
1) 导出router
2) 导出vuex,需要新建export.index.js文件
3) 导出css等其他文件
此时你可以在最外层的index.js文件中导出需要的文件,便于其他项目调用。
2.配置vue-demo项目package.json文件
当你成功建好子npm包之后,需要将npm包发布到www.npmjs.com官方网站,然后在vue-demo的package.js中引入
3.Vue-demo引入npm包
1) 将npm的vuex导入到项目中
2) 将npm的router导入到项目中
3) 导入其他需要的文件
4.其他
1) 包与包之间的数据传递
子npm包之间以及子npm和vue-demo项目中进行数据传递可以将需要的数据挂载到window.xxx
2) 安全性问题
因为将自己的项目包发布到npmjs.com上有泄露的风险,所有需要解决,有以下两种:
1) 搭建内网私有npm包管理服务器,然后build构建发布的时候需要将npm拉取地址改成自己私有的包地址;
2) 用npm的方式搭建微前端项目,依赖包每次修改需要发包,然后vue-demo需要重新npm install拉取最新包,才能更新依赖,所以可以使用另外一种方式:npm拉取git项目仓库作为package包使用,具体不介绍。
"devDependencies": {
"name1" : "git://github.com/user/project.git#master",
"name2" : "git://github.com/user/project.git#develop"
}
- END -
可谈可不谈公众号
👇
长按关注,不迷路