Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果文件夹中有可用的文件,则将任务打包到concat javascript,否则从其他地方获取它们_Javascript_Node.js_If Statement_Gulp_Concat - Fatal编程技术网

如果文件夹中有可用的文件,则将任务打包到concat javascript,否则从其他地方获取它们

如果文件夹中有可用的文件,则将任务打包到concat javascript,否则从其他地方获取它们,javascript,node.js,if-statement,gulp,concat,Javascript,Node.js,If Statement,Gulp,Concat,为了便于解释,让我们想象一下这个文件夹结构:` base - folder-a - script.js - folder-b - script.js - folder-c - script.js custom - folder-a - script.js - folder-b 我有一个吞咽任务,要把base/folders中所有文件夹的script.js gulp.task('componentsJs', func

为了便于解释,让我们想象一下这个文件夹结构:`

base
   - folder-a
      - script.js
   - folder-b
      - script.js
   - folder-c
      - script.js

custom
   - folder-a
      - script.js
   - folder-b
我有一个吞咽任务,要把
base/folders
中所有文件夹的
script.js

gulp.task('componentsJs', function() {
    return  gulp.src('./components/**/*.js')
            .pipe(concat('components-min.js'))
            .pipe(gulp.dest('./js/min'))
            .pipe(rename( {
                basename: "components",
                suffix: '-min'
            }))
            //.pipe(uglify())
            .pipe(gulp.dest('./js/min/'))
            .pipe(notify({ message: 'Components scripts task complete',  onLast: true }));
 });
所以我想做的是:让一个任务包含每个
自定义/文件夹
的所有script.js,如果
自定义/文件夹
中有一个
script.js
文件,它应该使用这个脚本(例如
自定义/文件夹-a/scripts.js
),如果没有
脚本.js
(例如
自定义/文件夹-b//code>)script.js不是定制的,因此它应该回退到
base/folder-b/script.js

要求如下:

  • 子文件夹应该有任何文件夹名(例如
    folder-a
  • 如果自定义文件夹中不存在,则应忽略其
    script.js
我在stackoverflow上找到了一个if语句,我尝试这样做:

var fs = require('fs'),
    files = ['src/js/**/*.js'],
    extraFile = 'path/to/other/file';

if( fs.existsSync(extraFile)) {
    files.push(extraFile);
} else {
  console.log('FILE DOES NOT EXIST');
}
有什么建议吗