Concat scripts in order with Gulp(使用 Gulp 按顺序连接脚本)
问题描述
例如,您正在 Backbone 或其他任何东西上构建一个项目,并且您需要按特定顺序加载脚本,例如underscore.js 需要在
backbone.js
之前加载.
如何让它连接脚本以使它们井井有条?
//JS concat,剥离调试和缩小gulp.task('脚本', function() {gulp.src(['./source/js/*.js', './source/js/**/*.js']).pipe(concat('script.js')).pipe(stripDebug()).pipe(丑化()).pipe(gulp.dest('./build/js/'));});
我的 source/index.html
中的脚本顺序正确,但由于文件是按字母顺序组织的,gulp 将在 之后连接
,和我的underscore.js
>backbone.jssource/index.html
里面的脚本顺序无关,看目录下的文件.
那么有人对此有什么想法吗?
我最好的办法是用 1
、2
、3
重命名供应商脚本,以给它们正确的顺序,但我是不知道我喜不喜欢这个.
随着我了解的更多,我发现 Browserify 是一个很好的解决方案,一开始可能会很痛苦,但它很棒.
我最近在构建我的 AngularJS 应用程序时遇到了与 Grunt 类似的问题.这是我发布的一个问题.p>
我最终做的是在 grunt 配置中按顺序显式列出文件.配置文件将如下所示:
<代码>['/path/to/app.js','/path/to/mymodule/mymodule.js','/path/to/mymodule/mymodule/*.js']
Grunt 能够找出哪些文件是重复的并且不包含它们.同样的技术也适用于 Gulp.
Say, for example, you are building a project on Backbone or whatever and you need to load scripts in a certain order, e.g. underscore.js
needs to be loaded before backbone.js
.
How do I get it to concat the scripts so that they’re in order?
// 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/'));
});
I have the right order of scripts in my source/index.html
, but since files are organized by alphabetic order, gulp will concat underscore.js
after backbone.js
, and the order of the scripts in my source/index.html
does not matter, it looks at the files in the directory.
So does anyone have an idea on this?
Best idea I have is to rename the vendor scripts with 1
, 2
, 3
to give them the proper order, but I am not sure if I like this.
As I learned more I found Browserify is a great solution, it can be a pain at first but it’s great.
I had a similar problem recently with Grunt when building my AngularJS app. Here's a question I posted.
What I ended up doing is to explicitly list the files in order in the grunt config. The config file will then look like this:
[
'/path/to/app.js',
'/path/to/mymodule/mymodule.js',
'/path/to/mymodule/mymodule/*.js'
]
Grunt is able to figure out which files are duplicates and not include them. The same technique will work with Gulp as well.
这篇关于使用 Gulp 按顺序连接脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 Gulp 按顺序连接脚本


- 如何调试 CSS/Javascript 悬停问题 2022-01-01
- 在不使用循环的情况下查找数字数组中的一项 2022-01-01
- 为什么我的页面无法在 Github 上加载? 2022-01-01
- 为什么悬停在委托事件处理程序中不起作用? 2022-01-01
- 使用 iframe URL 的 jQuery UI 对话框 2022-01-01
- 从原点悬停时触发 translateY() 2022-01-01
- 我不能使用 json 使用 react 向我的 web api 发出 Post 请求 2022-01-01
- 如何显示带有换行符的文本标签? 2022-01-01
- 如何向 ipc 渲染器发送添加回调 2022-01-01
- 是否可以将标志传递给 Gulp 以使其以不同的方式 2022-01-01