【发布时间】:2015-11-29 20:18:28
【问题描述】:
我有几页,想将所有脚本编译成一个包。
我知道每个页面可以有多个条目,但它会为不同的页面生成多个包。
为什么一个捆绑包对我如此重要:
- 当结果是一个包而不是多个包时,版本控制更方便(例如,bundle-1.0.1.js)
- 可以缓存一次,在所有页面中使用
类似这样的:
page1.html
...
<script src="bundle.js" entry-module="module-for-page1"></script>
...
page2.html
...
<script src="bundle.js" entry-module="module-for-page2"></script>
...
【问题讨论】:
-
您可以编写处理
entry-module="module-for-page2"的逻辑。该模块需要所有其他模块并且是唯一的入口点。 -
@FelixKling。好吧,我是这样看的:将所有模块构建到一个包中,添加特殊的启动(入口)模块,该模块将搜索 entry-module attr,并指定 require()模块。问题是,webpack 不会捆绑所有模块,因为其中一些模块没有被其他模块引用。嗯……
-
@FelixKling。事实证明,我们可以有条件地要求模块,并且它们都将被捆绑。但是所有模块都应该在 require() 中明确指定。所以我的解决方案是this
-
是的,这正是我的意思。
标签: javascript webpack