Javascript 从gulp任务运行节点js脚本

Javascript 从gulp任务运行节点js脚本,javascript,node.js,gulp,task,Javascript,Node.js,Gulp,Task,我在一个文件夹中有许多js脚本(scripts/*.js)。 如何从gulp任务中执行它们(而不是多次使用'node script.js') 差不多 gulp.task('exec_all_scripts', function () { gulp.src(path.join(__dirname, './scripts/*.js')) }) 您可以在脚本/*.js中导出函数,然后在gulpfile.js中导入它们,并在“exec_all_scripts”任务中调用函数,这很简单您可以将所有脚

我在一个文件夹中有许多js脚本(scripts/*.js)。 如何从gulp任务中执行它们(而不是多次使用'node script.js')

差不多

gulp.task('exec_all_scripts', function () {
  gulp.src(path.join(__dirname, './scripts/*.js'))
})

您可以在脚本/*.js中导出函数,然后在gulpfile.js中导入它们,并在“exec_all_scripts”任务中调用函数,这很简单

您可以将所有脚本合并到一个脚本中,然后从同一个任务、不同的任务或使用不同的进程执行它。请参阅以下NPM包:

以下是一个例子:

var concat = require('gulp-concat');   // include package

gulp.task('exec_all_scripts', function() {
  return gulp.src(path.join(__dirname, './scripts/*.js')
    .pipe(concat('all_scripts.js'))
    .pipe(gulp.dest('./dist/'));  // assuming you had a dist folder but this could be anything
});
Gulp是一个任务运行程序,这意味着它可以自动执行命令序列;不运行整个脚本。相反,您可以使用NPM来实现这一点。我不认为有一种方法可以同时运行全局脚本,但您可以将每个文件设置为自己的npm脚本,并使用以下方法运行它们:

{
    "name": "sample",
    "version": "0.0.1",
    "scripts": {
        "script:foo": "node foo.js",
        "script:bar": "node bar.js",
        "script:baz": "node baz.js",
        "start": "npm-run-all --parallel script:*",
    },
    "dependencies": {
        "npm-run-all": "^4.0.2"
    }
}
然后您可以使用
npm start
一次运行所有脚本

如果确实需要使用gulp来运行脚本,那么可以使用相同的策略,然后使用gulp来运行npm脚本

var run = require('gulp-run');

// use gulp-run to start a pipeline 
gulp.task('exec_all_scripts', function() {
    return run('npm start').exec()    // run "npm start". 
        .pipe(gulp.dest('output'));      // writes results to output/echo. 
})

Gulp并不是一个真正的脚本执行者。你为什么认为它是这份工作的正确工具?我不知道。我还以为这是大口大口喝的呢