0

我有一个 gulp 任务,可以在更改时对 js 文件进行连接和丑化。如果我只使用一个来源,它可以工作。但是,我正在学习角度,并希望它首先将模块连接起来,与此类似:

https://medium.com/@dickeyxxx/best-practices-for-building-angular-js-apps-266c1a4a6917#.mujtfmj63

我在用:

gulp.task('scripts', function(){
    return gulp.src(path.gulp.paths.src + ['/**/module.js', '/**/*.js'])
    .pipe(concat('all.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest(path.gulp.paths.dist));
  });

并且 gulp 任务运行但它不会创建 all.min.js 文件。如果我删除数组并使用它就可以了:

gulp.task('scripts', function(){
    return gulp.src(path.gulp.paths.src + '/**/*.js')
    .pipe(concat('all.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest(path.gulp.paths.dist));
  });

我的目录设置为

public
 |  
 +-- modules
 |  |  
 |  +-- module.js
 +-- test.js

我究竟做错了什么?

4

1 回答 1

1

您正在尝试将path.gulp.paths.src(我假设是一个字符串)添加到一个数组中。对于此操作,JavaScript 首先将数组转换为字符串(请参阅https://stackoverflow.com/a/7124907)。假设您的字符串是'./public',您最终传递给gulp.src的是'./public/**/module.js,/**/*.js',这不是有效路径。

您可以将字符串添加到数组的每个元素 ( [path.gulp.paths.src + '/**/module.js', path.gulp.paths.src + '/**/*.js']),或者您可以使用该cwd选项将其设置为所有文件的基础:

return gulp.src(['/**/module.js', '/**/*.js'], {cwd: path.gulp.paths.src})
...
于 2015-12-31T19:44:50.360 回答