使用NPM包方式进行微前端开发(最简单的微前端)

2,856 阅读2分钟

开始先思考一下:

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

image.png

2) 导出vuex,需要新建export.index.js文件

image.png

3) 导出css等其他文件

image.png

此时你可以在最外层的index.js文件中导出需要的文件,便于其他项目调用。

 

2.配置vue-demo项目package.json文件

当你成功建好子npm包之后,需要将npm包发布到www.npmjs.com官方网站,然后在vue-demo的package.js中引入

image.png

 

3.Vue-demo引入npm包

1) 将npm的vuex导入到项目中

image.png

2) 将npm的router导入到项目中

  image.png

3) 导入其他需要的文件

image.png  

 

4.其他

1) 包与包之间的数据传递

子npm包之间以及子npm和vue-demo项目中进行数据传递可以将需要的数据挂载到window.xxxx上或者VUE实例上Vue.prototype.xxxx上或者VUE实例上Vue.prototype.xxx

 

2) 安全性问题

因为将自己的项目包发布到npmjs.com上有泄露的风险,所有需要解决,有以下两种:

1) 搭建内网私有npm包管理服务器,然后build构建发布的时候需要将npm拉取地址改成自己私有的包地址;

image.png

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 -


可谈可不谈公众号

👇

图片

长按关注,不迷路