时间:2021-05-25
如果我们在开发系统A时,能够按模块划分生成多份静态资源包,最终的成果物中,会有多个子目录,每个子目录可独立运行,完成一个业务功能。这样的话,我们有任何系统需要我们开发过的任何模块,都可以直接打包指定的模块,灵活组装。
优点:
1、可与其他系统灵活组装
2、各个模块相互不受影响,所以不受框架和开发模式的制约
3、不同模块可以分开部署
4、后期维护风险小,可以持续的、稳定的进行维护
缺点:
1、各个模块有相互独立的资源包,那么如果有相同的资源引用,不能复用
2、模块的组装要依赖iframe,所以要对浏览器安全设置、cookie共享等问题进行单独处理
3、用iframe来包裹组件,组件所能控制到的范围就是其所在的iframe,当涉及到全屏的应用场景时,会比较麻烦
4、不同组件之间的通信比较麻烦 实现目标
vue-cli默认打包方式的成果物:
修改配置后生成的成果物结构:
思路
由于我们现在的项目是多模块的,每个模块都应该有独立的入口,所以我们修改src目录结构如下:
注意:原来的src下的main.js、index.html和app.vue已经没用了,可以删掉
然后模块内的目录结构如下图所示:
注意:
这里跟原来的src下的main.js、index.html和app.vue一样的,只不过我们把main.js改成了index.js而已。 至于模块内要使用路由、状态管理都可以根据自己的需求去配置了。
以下是修改webpack配置的详细步骤
第一步:增加build/module-conf.js用来处理获取模块目录等问题
第二步:增加build/build-all.js用来处理循环执行打包命令
第三步:修改build/build.js增加MODULE_ENV参数,用来记录当前打包的模块名称,增加MODE_ENV参数,用来记录当前打包的模式
第四步:修改config/index.js的配置,修改打包时的出口目录配置、html入口模板的配置以及静态资源路径配置
第五步:修改webpack.base.conf.js的入口配置,根据传参,动态配置入口文件
第六步:修改webpack.dev.conf.js的配置,增加多入口时webpackHtmlPlugin插件的配置,增加静态资源服务器的配置
第七步:修改webpack.prod.conf.js的配置,增加对不同打包模式的处理。
第八步:修改package.json,增加npm run build-all指令 构建指令 打包全部模块到一个资源包下面,每个模块的入口是module.html文件,静态资源都在static目录中,这种方式可以复用重复的资源
npm run build
打包指定模块到一个资源包下面,每个模块的入口是module.html文件,静态资源都在static目录中,这种方式可以复用重复的资源
npm run build moduleName1,moduleName2,...
打包所有模块,然后每个模块彼此独立,有几个模块,就产生几个静态资源包,这种方式不会复用重复的资源
npm run build-all
总结
以上所述是小编给大家介绍的基于vue-cli搭建多模块且各模块独立打包的项目,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
场景在实际的项目开发中会出现这样的场景,项目中需要多个模块(单页或者多页应用)配合使用的情况,而vue-cli默认只提供了单入口打包,所以就想到对vue-cli
Vue-CLI项目-axios模块前后端交互(类似ajax提交)08.31自我总结,内容如下:Vue-CLI项目-axios前后端交互一.模块的安装npmins
本文以vue-cli3+为例,实现多系统集成下的分模块打包。分模块打包方式多种多样,下文可适用于多系统之间互不干扰,主系统可集成各子系统,各子系统又可单独运行的
使用vue的同学们大都是基于vue-cli来搭建项目的,vue-cli中的配置全面强大。//常用的命令npmrundev//本地热更新模式npmrunbuild
在上篇文章给大家介绍了vue-cliwebpack模板项目搭建及打包时路径问题的解决方法,可以点击查看。vue-cli构建的项目中,生产模式下的打包路径、与生产