我有browserify bundle,它通过browserify-shim使用外部lib。问题是index.html我必须手动设置包含文件的顺序:首先是外部lib,然后是browserify bundle - 它不会以不同的顺序工作。我的问题是,如果有一种方法构建包不在html文件中关注它的顺序?
编辑:
这就是我的架构,我必须使用javascript文件:
lib.js
- 这是其他人写的外部盗版
myBudnle.js
- 我的代码使用browserify通过gulp构建:
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个文件,这不是问题,但我仍然希望避免它,并且不要自己关心这个订单。