CommonJS新手,我阅读了关于browserify的内容,并认为它比现有的RequireJS设置简单,因此我继续进行了更改。我发现我将在每个捆绑软件中都有代码重复。让我解释:
可以说,我拥有page1.js
并page2.js
利用jquery.js
和jquery-ui.js
现在,我要创建bundle1.js
和bundle2.js
和的内容jquery.js
,并jquery-ui.js
在每捆被复制。
我尝试通过仅将jquery.js
和捆绑在一起而在浏览器中分成不同的文件jquery-ui.js
:
<script src="lib_bundle.js">
<script src="page1.js">
问题在于,由于它不是commonjs捆绑包,因此require
内部page1.js
将失败。
这种情况是外部需要的。我不熟悉browserify的命令行,但是在使用JavaScript API时,您可以执行以下操作。这会将常见的依赖项捆绑在一起。然后,其他捆绑包可以将它们称为“外部”。
var browserify = require('browserify');
var externalDependencies = [
'jquery',
'jquery-ui'
];
// shared libraries bundle (i.e. jquery, jquery-ui)
var libsBundle = browserify({
// your options
// ...
require: externalDependencies
});
// main bundle (i.e. page1, page2)
var mainBundle = browserify({
// your options
// ...
});
mainBundle.external(externalDependencies);
libsBundle.bundle();
mainBundle.bundle();
脚本标签:
<script src="libsBundle.js">
<script src="mainBundle.js">
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句