我正在使用gulp-order模块以及event-streams模块和gulp-concat将
javascript文件连接到单个dest文件中. gulp-order插件在我想要以不同顺序连接流中的文件的其他项目中对我很有用.由于某些原因,在这个项目中,它无法正常工作,并且public / angular / config目录中的文件分散在我指定的文件中,以便在public / js目录中最后连接.我认为这可能与指定多个来源有关. angular和js目录.我尝试将流与事件流模块合并而没有运气,而当我第一次开始时,我通过将数组传递给gulp.src函数来指定多个源
gulp.src(['./public/angular/**/*.js','./public/js/*.js'])
下面是我现在使用的代码.管道和连接工作正常,但顺序不符合规范:
var gulp = require('gulp'); var concat = require('gulp-concat'); var notify = require('gulp-notify'); var handleErrors = require('../util/handleErrors'); var jshint = require('gulp-jshint'); var ngmin = require('gulp-ngmin'); var order = require('gulp-order'); var es = require('event-stream'); function getStream(streamPath) { return gulp.src(streamPath); }; gulp.task('scripts',function() { return es.merge(getStream('./public/angular/**/*.js'),getStream('./public/js/*.js')) .pipe(order([ './public/angular/config/*.js','./public/angular/services/**/*.js','./public/angular/modules/**/*.js','./public/angular/primitives/**/*.js','./public/js/**/*.js' ])) .pipe(concat('app.js')) .pipe(gulp.dest('./public/build/js')) .on('error',handleErrors); });
解决方法
我有同样的问题,我使用gulp-print查看我的流中的文件名,但它们是正确的.我发现我需要将基本选项添加到gulp-order,然后一切运行良好.
gulp.src(['myFiles/*','myOtherFiles/*']) .pipe(order([ 'myOtherFiles/lib1.js','myFiles/lib2.js' ],{base: '.'});
有用的文章:http://martinwolf.org/2014/08/12/force-a-concatenation-order-with-gulp-js/
更新:博客文章的新链接:https://martinwolf.org/blog/2014/08/force-a-concatenation-order-with-gulp-js
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。