我正在尝试使用gulp-concat将组合的JavaScript和CSS资源生成到单个文件中,如下所示:
我通过合并文件得到了一个文件,但是嵌入到组合输出文件中的javascript文件的顺序是随机的 - 在这种情况下,控制器在初始app.js文件之前出现,这在试图加载期望在加载任何相关资源之前先加载app.js的Angular应用程序时会导致问题。同样,CSS资源也会以随机的顺序进行组合,而且顺序有些重要 - 例如,bootstrap需要在主题和任何自定义样式表之前加载。
我该如何设置串联过程,使顺序保持不变?
更新 所以事实证明上述排序确实可以工作,即通过在文件规范数组中显式指定文件顺序来实现。因此,在这种情况下,关键的事情是首先列出app/js/app.js,然后让其余的脚本任意排列,其中顺序无关紧要。
我未能看到这种行为的原因(哎呀!)是Gulp Watch正在运行,gulpfile.js更新并没有实际反映在输出中。重新启动gulp确实更新了脚本。新手错误...
其他想法: 仍然在想 - 这是指定构建顺序的正确位置吗?它似乎你正在将应用程序逻辑(加载顺序)放入构建脚本中,这感觉不对。还有其他方法来解决这个问题吗?
我试图使用gulp-concat生成一个类似于以下内容的组合JavaScript和CSS资源的单个文件:
var concatjs = gulp
.src(['app/js/app.js','app/js/*Controller.js', 'app/js/*Service.js'])
.pipe(concat('app.js'))
.pipe(gulp.dest('build'));
我通过合并文件得到了一个文件,但是嵌入到组合输出文件中的javascript文件的顺序是随机的 - 在这种情况下,控制器在初始app.js文件之前出现,这在试图加载期望在加载任何相关资源之前先加载app.js的Angular应用程序时会导致问题。同样,CSS资源也会以随机的顺序进行组合,而且顺序有些重要 - 例如,bootstrap需要在主题和任何自定义样式表之前加载。
我该如何设置串联过程,使顺序保持不变?
更新 所以事实证明上述排序确实可以工作,即通过在文件规范数组中显式指定文件顺序来实现。因此,在这种情况下,关键的事情是首先列出app/js/app.js,然后让其余的脚本任意排列,其中顺序无关紧要。
我未能看到这种行为的原因(哎呀!)是Gulp Watch正在运行,gulpfile.js更新并没有实际反映在输出中。重新启动gulp确实更新了脚本。新手错误...
其他想法: 仍然在想 - 这是指定构建顺序的正确位置吗?它似乎你正在将应用程序逻辑(加载顺序)放入构建脚本中,这感觉不对。还有其他方法来解决这个问题吗?