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つしかないので問題ありませんが、それでも避けたいと思い、この順序を自分で気にしません。