2017-08-09 2 views
0

Ich habe viele js Skripte in einem Ordner (Skripte/*. Js). Wie man sie alle aus der Schluckaufgabe ausführt (anstatt "node script.js" oft zu verwenden)?run Node js Skripte aus Schluck Aufgabe

so etwas wie

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

Gulp ist nicht wirklich ein Skript-Runner. Warum sollten Sie erwarten, dass es das richtige Werkzeug für diesen Job ist? –

+0

Ich weiß es nicht. Ich dachte, es könnte mit Schluck machen – user8439944

Antwort

1

Gulp ist ein Aufgabe Läufer, es soll Sinn Sequenzen von Befehlen automatisieren; nicht ganze Skripte ausführen. Stattdessen können Sie NPM dafür verwenden. Ich glaube nicht, dass es eine Möglichkeit, Skripte glob und sie alle auf einmal laufen, aber Sie können jede Datei als eigenes npm Skript gesetzt und verwenden npm-run-all sie auszuführen:

{ 
    "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" 
    } 
} 

Dann können Sie npm start verwenden zu laufen alle Ihre Skripte gleichzeitig.

Wenn Sie wirklich Schluck verwenden müssen, um die Skripts auszuführen, können Sie die gleiche Strategie verwenden und dann gulp-run verwenden, um das npm-Skript mit Schluck auszuführen.

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. 
}) 
0

Sie Funktionen in Ihre Skripte exportieren/*. Js und importieren sie in gulpfile.js und Aufgabe, die Funktionen in 'exec_all_scripts' nennen, ist es einfach

0

Sie concatinate könnte alle Skripte in ein einzelnes Skript und führen es dann von derselben Aufgabe, einer anderen Aufgabe oder einem anderen Prozess aus. Sehen Sie im folgenden NPM-Paket: https://www.npmjs.com/package/gulp-concat

Hier ist ein Beispiel:

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 
});