[英]Ordering the output using gulp and main-bower-files (gulp-order doesn't work)
Java工程師,這是Java語言世界的新手,如果我沒有提供足夠/正確的信息,敬請原諒!
我有一個gulp構建腳本,並使用bower管理JS前端應用程序的依賴項。 我正在努力以正確的順序連接(更強大的控制)供應商javascript庫,以便jQuery和angular首先出現。
如果不是第一個,那么在加載應用程序時,我會遇到角度未定義或jQuery未定義的情況,因為它們相應的javascript代碼被埋在連接庫的更下方。
我嘗試使用gulp-order
來排序生成的main-bower-files
調用的輸出,但是似乎沒有效果。
我的任務如下:
gulp.task('lib', function () {
var files =
gulp.src(mainBowerFiles({
paths: {
bowerrc: './.bowerrc',
bowerJson: './bower.json'
}, env: 'lib'}))
.pipe(order(["vendor/bower/jquery/**/*.js", "vendor/bower/angular/**/*.js", "vendor/bower/**/*.js" ]))
return processJsFiles('lib', files);
});
processJsFiles進行丑化工作,看起來非常像:
.pipe(uglify(name + '.js', {
outSourceMap: true,
screwIe8: true,
compress: {
hoist_funs: false,
if_return: false
}
}))
.pipe(gulp.dest(build_dir))
.pipe(gzip())
.pipe(gulp.dest(build_dir));
有什么線索或更好的方法應該這樣做嗎?
在對文檔進行了很多摸索之后,我發現您需要指定訂單插件需要從哪里開始的基礎,例如:
gulp.task('lib', function () {
var files =
gulp.src(mainBowerFiles({
paths: {
bowerrc: './.bowerrc',
bowerJson: './bower.json'
}, env: 'lib'}))
.pipe(order([
"vendor/bower/jquery/**/*.js",
"vendor/bower/angular/**/*.js",
"vendor/bower/**/*.js"
], { base: './' })
);
return processJsFiles('lib', files);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.