2015-02-23 36 views
0

我的文件夹结构:如何使用Gulp在子目录中编译JS?

dashboard > 
    components > 
     accounts > accounts.js, accountsDirectives.js 
     dash > dashApp.js 
     settings > settings.js, settingsDirectives.js 
     etc... 

我在Gulpfile

function compile_js(minify, folder) { 
    var jsLibs = gulp.src('client/'+folder+'/_sources/js/libs/*.js'); 
    var jsPlugins = gulp.src('client/'+folder+'/_sources/js/plugins/*.js'); 
    var jsCustom = gulp.src('client/'+folder+'/_sources/js/custom/*.js'); 
    var jsComponents = gulp.src('client/'+folder+'/components/*.js'); 

    // Order the streams and compile 
    return streamqueue({ objectMode: true }, 
     jsLibs, 
     jsPlugins, 
     jsCustom, 
     jsComponents 
    ) 
    .pipe(concat(folder+'.module.js')) 
    .pipe(gulpif(minify, uglify())) 
    .pipe(gulp.dest('client/'+folder+'/assets/js')); 
}; 

问题的功能是这条线中,靶向组件目录:

var jsComponents = gulp.src('client/'+folder+'/components/*.js'); 

我也试过/components/**/*.js但仍然不起作用。

我发现this answer here, which they talk about symlinks,但我想避免使用它。 1)它看起来像一个黑客,并且2)这需要所有当前和未来的开发人员在他们的计算机上创建确切的符号链接。

是否有另一种方法轻松地定位和编译目录中的所有js文件与子目录?

回答

0

你试过先创建的路径在gulp.src参数使用变量?林也好奇,如果因为你是涅槃他们,为什么你不抢他们中的一些所有文件的东西,如:

var someVar = gulp.src('client/'+folder+'/_sources/js/**/*.js'); 

VS

var jsPlugins = gulp.src('client/'+folder+'/_sources/js/plugins/*.js'); 
var jsCustom = gulp.src('client/'+folder+'/_sources/js/custom/*.js'); 
+0

好吧,我不得不打破源,高达因为我需要插件才能在自定义之前编译,否则我的自定义particle.js文件会中断。不过有趣的是,在'/ **/*。js'似乎为我的'js'文件夹中工作,不知道为什么不为我的'components'文件夹 – 2015-02-23 06:15:05

+0

你试过'VAR jsComponents = gulp.src( '客户端/' 文件夹+ + '/ **/* JS');上面的' – DvideBy0 2015-02-23 06:16:15

+1

看你的文件夹结构看起来像这将是'无功jsComponents = gulp.src( '仪表板/组件/ **/* JS。');' – DvideBy0 2015-02-23 06:18:56

相关问题