举例来说,假设您要在Backbone或任何其他平台上构建项目,并且需要按特定顺序加载脚本,例如,underscore.js
需要在之前加载backbone.js
。
我如何获得它来连接脚本,以便它们井井有条?
// JS concat, strip debugging and minify
gulp.task('scripts', function() {
gulp.src(['./source/js/*.js', './source/js/**/*.js'])
.pipe(concat('script.js'))
.pipe(stripDebug())
.pipe(uglify())
.pipe(gulp.dest('./build/js/'));
});
我的脚本顺序正确source/index.html
,但是由于文件是按字母顺序组织的,因此gulp将underscore.js
在之后连接backbone.js
,而我的脚本顺序source/index.html
并不重要,它会查看目录中的文件。
那么有人对此有想法吗?
我有最好的办法是重新命名与供应商的脚本1
,2
,3
给他们以正确的顺序,但我不知道如果我喜欢这个。
当我了解到更多信息后,我发现Browserify是一个很好的解决方案,乍一看可能很麻烦,但是它很棒。
require
在前端使用类似npm的语法,因为如果您在服务器端使用了npm,那么您将看到如何需要模块,但是browserify允许您在客户端代码上执行此操作,请保留请记住,要开始使用它需要一些修补,但是它主要在package.json中,并且如果要与gulp.js或grunt.js一起使用。如果您安装了gulp / grunt browserify软件包,则可以运行gulp/grunt browserify
并将脚本转换为一个主脚本,这虽然需要一点学习,但值得IMO借鉴。