有一个场景: 我的 source code 是 es6 写的,假如说,我是说假如想用一个流行第三方库 jquery, 于是乎, npm install --save jquery, 之后就可以在代码里 import $ from 'jquery'了, 当我用 webpack 和 babel 打包成一个 bundle.js 的时候, jquery 也会被打包进去吧?
之后,有另外一个 project 要用我的这个 bundle.js ,而且他们也要用 es6 和 jquery ,于是他们也自己 npm install 了,然后也 webpack 了一下,这样他们的 bundle2.js 里又有我的 bundle.js 又有 jquery ,这样整个 bundle2 里有两份 jquery 了吧。
不知道我这样讲是不是合适?如有错误烦请批评我,指正我。
最终问题,如何处理上面描述的重复性第三方文件问题?
1
chairuosen 2017-01-03 17:58:42 +08:00
你只发布源码,让他们用的时候自己找 jquery 打包去
|
2
Biwood 2017-01-03 18:03:28 +08:00
如果两个项目是独立且不相关的,那么重复打包 jquery 很正常, webpack 优点就是打包之前的模块化, jquery 也是一个模块,当然需要打包
如果两个项目是相关联的,那么就为相关联的部分单独建立一个项目,单独打包公共模块 |
3
learnshare 2017-01-03 18:05:28 +08:00
如果两个项目关联性较大,比如 PC 版 + 移动版,可以把公用的代码单独打包,两个项目引用同一个 URL
|
4
L3au 2017-01-03 18:11:54 +08:00
--save-dev [-D] 保存到 devDependencies 而非 dependencies ,也可以把 jquery 配置成 "external"
https://webpack.github.io/docs/library-and-externals.html 另外,一般叫 "工程化" :) |
5
xjp 2017-01-03 18:28:48 +08:00 via iPhone
这个问题在于重复打包 提供源码 统一在最终的节点打包一次就可以了
|
6
shuson OP |