gulpファイル内の外部ノードスクリプトのパラメータとしてbrowserSync外部URLを送信できます。 browserSyncオブジェクト(または他の方法)を介して外部URLにアクセスするにはどうすればよいですか?外部ノードスクリプトに渡すことができるように、BrowserSync外部URLをプログラムでGulpファイルで取得しますか?
var gulp = require('gulp');
var shell = require('gulp-shell');
var browserSync = require('browser-sync').create();
gulp.task('default', ['browser-sync', 'config']);
gulp.task('browser-sync', function() {
browserSync.init({
proxy: "localhost:8024",
open: "external"
});
});
gulp.task('config', shell.task([
"node scripts/someNodeScript.js browserSync.externalURL"
]));
以下@スヴェン・shoenungにより、優れた回答に基づいてUPDATE
、私は少し彼のソリューションを微調整し、これを正常に使用しています:
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
var spawn = require('child_process').spawn;
var externalUrl;
var browserSyncDone = function() {
spawn('node', ['scripts/someNodeScript.js', externalUrl], {stdio:'inherit'});
};
gulp.task('default', ['browser-sync']);
gulp.task('browser-sync', function() {
browserSync.init({
proxy: "localhost:8024",
open: "external"
}, function() {
externalUrl = browserSync.getOption('urls').get('external');
browserSyncDone();
});
});
大変ありがとうございます。 –
gulpがdone()関数が存在しないと不平を言いましたので、少し変更する必要がありました。私は正常に私が元の質問に投稿して使用しています。私はそれがそこにそれを掲示する悪い形であるかどうかわからないが、私は確信していなかった。 –