我在一個文件夾中有許多js腳本(scripts/*。js)。 如何從gulp任務中執行它們(而不是多次使用'node script.js')?從gulp任務運行節點js腳本
像
gulp.task('exec_all_scripts', function() {
gulp.src(path.join(__dirname, './scripts/*.js'))
})
我在一個文件夾中有許多js腳本(scripts/*。js)。 如何從gulp任務中執行它們(而不是多次使用'node script.js')?從gulp任務運行節點js腳本
像
gulp.task('exec_all_scripts', function() {
gulp.src(path.join(__dirname, './scripts/*.js'))
})
咕嘟咕嘟是任務轉輪,這意味着它的意思自動化命令序列;不運行整個腳本。相反,你可以使用NPM。我不認爲有一種方式來glob的腳本,並同時運行它們,但您可以設置每個文件作爲自己的新公共管理腳本,並使用npm-run-all
運行它們:
{
"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-run
來運行帶有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.
})
你可以在你的腳本/導出功能*。js和它們導入gulpfile.js並調用函數「exec_all_scripts」的任務,很容易
你可以concatinate將所有腳本合併爲一個腳本,然後從相同的任務,不同的任務或使用不同的過程執行它。請參見下面的NPM包:https://www.npmjs.com/package/gulp-concat
下面是一個例子:
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不是一個真正的腳本選手。你爲什麼期望這是這份工作的正確工具? –
我不知道。我認爲這是可以做到的吞嚥 – user8439944