Closed caidewu closed 8 years ago
如果你不指定具体的路径,就会合并所有的。按照你的需求,你应该指定具体的路径。
发自我的 iPhone
在 2015年7月24日,15:55,caicai notifications@github.com 写道:
比如文件目录如下
src/
|-- a
| |-- a.js |-- b.js
-- b `-- bb.js b.js 依赖 bb.jsgulp代码如下
var gulp = require( 'gulp' ), seajsCombo = require( 'gulp-seajs-combo' );
gulp.task( 'seajscombo', function(){ return gulp.src( 'src/js/a/*.js' ) .pipe( seajsCombo() ) .pipe( gulp.task('build/js') ); }); 结果是 合并后, a.js 中只有自己的一个module,这个是正常的 但是b.js中不仅有依赖的bb.js的module,a.js的module也被合并进来了 a.js 和 b.js 没有任何依赖关系啊,为什么会这样
— Reply to this email directly or view it on GitHub.
指定具体的路径是指什么?除了gulp.src 我并没有看到插件有指定路径的参数
如果src指定一个文件,gulp.src( 'src/js/a/a1.js' )
,那么的合并出的结果是我想要的,生成的文件会被transport,而且把require的module引进来
但是如果这样,gulp.src( ['src/js/a/a1.js','src/js/a/a2.js'] )
,那么排在前面的a1是正常的,但是a2会把a1的内容合并过来,即使a1和a2没有依赖关系
请明示,谢谢!
gulp.src( 'src/js/a/a1.js' )
每个合并任务最好只有1个具体的入口文件,这个是正常的使用方法。
gulp.src( ['src/js/a/a1.js','src/js/a/a2.js'] )
这个合并任务有2个入口文件,会对2个文件都进行合并,通常这不是用户想要的。如果想指定多个合并文件的任务,请建立多个任务,这样合并逻辑才清晰。
你说的我大概明白了,因为我的项目并不是SAP,每个页面都引用了js,如果按照你说的使用多个任务那得写上百个任务,也是不现实
如果你一个站点有上百个 js 外链,那么本身就规划不合理了。
也就是说不能使用*.js来一次性combo,必须一个个来?
看你想要打多少个包了
有36个js需要合并,现在是一个个的合并的,如果写*.js就会出现和上诉一样的重复的问题
自己按需合并吧,不能一股脑儿就合并成一个文件
比如文件目录如下
b.js 依赖 bb.js
gulp代码如下
结果是 合并后, a.js 中只有自己的一个module,这个是正常的 但是b.js中不仅有依赖的bb.js的module,a.js的module也被合并进来了 a.js 和 b.js 没有任何依赖关系啊,为什么会这样