我有通过 browserify-shim 使用外部库的 browserify 包。问题是 index.html ,我必须手动设置包含文件的顺序:首先是外部库,然后是 browserify 包 - 它不能以不同的顺序工作。我的问题是是否有办法构建捆绑包不关心它在 html 文件中的顺序?
编辑:
这就是我的架构的外观,我必须使用 javascript 文件:
lib.js
- 这是别人写的外部库
myBudnle.js
- 我通过 gulp 使用 browserify 构建的代码:
var build = getBuildType();
var b = browserify({
entries: build.src,
debug: true,
standalone: "myBundle"
});
return b.bundle()
.pipe(source(build.src))
.pipe(rename(build.name))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true})).on("error", gutil.log)
.pipe(sourcemaps.write("./"))
.pipe(gulp.dest(build.bin))
和 browserify-shim 配置:
"browserify-shim": {
"lib": "global:LIB"
},
然后我有 index.html 文件,我包含两个 js 文件,但我必须按特定顺序执行此操作
<head lang="en">
<script src="./lib/lib.js" type="text/javascript"></script>
<script src="./lib/myBundle.js" type="text/javascript"></script>
</head>
当我更改顺序时(我自动生成 html 文件,所以这经常发生) LIB 在中未定义myBundle.js
,我必须手动重新排序文件。因为我只有 2 个文件,所以这不是问题,但我还是想避免它,我自己也不关心这个订单。