假设我有个大项目(前端 vue ),需要拆分成两三个小项目甚至更多个小项目。 然后需求是,将小项目 ABC 用 webpack 分别打包成 moduleA.js 、moduleB.js 、moduleC.js (或者其他类型文件或包),然后将这三个包引入到大项目 project 中(放到 static 文件中?可以动态 import ),然后就可以使用或路由到小项目中的页面、函数等等
1
Sir814 2019-07-09 12:56:41 +08:00
配置入口和 webpack-html-plugin。应该可以
|
2
happyeveryday 2019-07-09 13:35:42 +08:00
1.mpa + 多个 html-plugin
2.微前端 |
3
duanzs OP @happyeveryday mpa 是啥
|
5
noe132 2019-07-09 14:01:14 +08:00
打包上传到 npm 或自建 npm,其他项目安装依赖就可以了
|
7
randyo 2019-07-09 14:27:15 +08:00
打包成 umd 规范的,可以随便用了
|
8
15651980765 2019-07-09 14:31:19 +08:00
@duanzs 有一种方案不知道是否可行:你的子模块打包成 Amodule.js 、Bmodule.js 、Cmodule.js 放在静态资源服务器上,子模块更新时直接替换同名文件,主项目用 script 标签引入这些 js 文件使用,打包发布后,子模块发生变化,主项目无需重新打包发布,只需要客户端清除缓存重新加载 js 就可以了。
|
9
duanzs OP @15651980765 我这么考虑过,不知道可不可行,目前知道这个弊端是需要必须提前知道子模块业务名
|
11
MrJeff 2019-07-09 21:28:41 +08:00
按你的需求 打包成多个 html 就可以了,但如果需要更复杂点 做成前端微服务 可以参考这个 https://single-spa.js.org/
|
13
jinliming2 2019-07-10 09:35:46 +08:00 via iPhone
webpack 的 dll 包应该可以,把三个模块打成 prod 模式的 dll 然后包进去应该可以
|
14
duanzs OP @jinliming2 刚随便百度了一下,webpack 的 dll 好像是解决三方库的
|
15
MrJeff 2019-07-10 10:42:37 +08:00
@duanzs 第三方库 用户信息共享 可以参考下 这篇文章 https://tech.meituan.com/2018/09/06/fe-tiny-spa.html
|