我正在开发一个项目,其中有一个 vendor
目录,其中包含相当多的库,然后是 app/js
目录中的所有应用程序特定源。我想使用 gulp 将所有内容缩小到单个文件中以维护依赖关系。我找不到合适的方法来做到这一点。
示例 - jQuery UI 和 Bootstrap 都要求在它们之前加载 jQuery。如何在我的 gulp 任务中指定这一点?
我知道的一种方法是将路径数组传递给 gulp.src() 方法,它将按特定顺序发出文件,但这对我来说似乎很不自然。
var paths = ['vendor/jquery.min.js', 'vendor/jquery-ui.min.js', 'vendor/bootstrap.min.js']
gulp.task('scripts', function(){
gulp.src(paths)
.pipe(concat('all.min.js'))
...
...
.pipe(gulp.dest('build/js/all.min.js'))
})
对于大量库,以这种方式包含特定文件的路径并将其传递给 .src()
方法似乎并不正确。我怎样才能更好地管理它? bower
可以以某种方式使用吗?
最佳答案
就像你说的,最简单的方法是将它们添加到数组和 gulp.src
gulp.src([
'public/assets/vendor/jquery/dist/jquery.js',
'public/assets/vendor/bootstrap/dist/js/bootstrap.js',
'public/assets/js/my_scripts.js'
])
因此,您只需添加要包含的新 js 文件的路径即可。
另一种可能性是https://github.com/austinpray/asset-builder
这是一个带有 asset-builder https://github.com/roots/sage/blob/master/gulpfile.js 的 gulpfile 示例
另一种可能性是自动捆绑 Bower 文件中的文件。 https://truongtx.me/2014/07/18/using-bower-with-gulp/
关于javascript - Gulp - 管理库依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30450893/