2016-10-16 14 views
0

gulp build envを純粋なnpmスクリプトを使用して変換しようとしています。私はほとんどの問題を解決することができましたが、私はブラウザ同期とプロキシミドルウェアを使用して少し固執しています。私たちの現在のプロジェクトでは、ASP.NETのバックエンドがあるため、いくつかのURLをプロキシする必要があります。 これが私たちの一気ファイルnpmスクリプト、browser-syncおよびproxy-middleware

gulp.task('webserver', function() { 
    var apiProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/api'); 
    apiProxy.route = '/api'; 
    var mvnDepsProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/mvndeps'); 
    mvnDepsProxy.route = '/mvndeps'; 
    var imagesProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/images'); 
    imagesProxy.route = '/images'; 
    var ngscriptsProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/ng-scripts'); 
    ngscriptsProxy.route = '/ng-scripts'; 
    var commonProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/common'); 
    commonProxy.route = '/common'; 

    if (baseParentFolder != '') { 
     var proxies = [proxy(apiProxy), proxy(mvnDepsProxy), proxy(imagesProxy), proxy(ngscriptsProxy), proxy(commonProxy)]; 
    } 
    else 
     var proxies = [proxy(apiProxy)]; 

    browserSync.init({ 
     server: { 
      baseDir: baseFolder, 
      middleware: proxies 
     }, 
     open: openBrowserOnServe, 
     port: developmentUiPort 
    }); 
}); 

私だけNPMスクリプトを使用してこれを実現する方法上の任意のアイデアでプロキシの設定を使用していますか?

答えて

0

今日はうまくいきました。私は、ブラウザの同期を処理するための別のファイル作成しまっ:

"scripts": { 
    "bs": "node browsersync.js" 
} 

var browserSync = require('browser-sync').create(); 
var url = require('url'); 
var proxy = require('proxy-middleware'); 
var iisPort = 61209; 
var iisAppContext = "/App"; 

var apiProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/api'); 
apiProxy.route = '/api'; 
var mvnDepsProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/mvndeps'); 
mvnDepsProxy.route = '/mvndeps'; 
var imagesProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/images'); 
imagesProxy.route = '/images'; 
var ngscriptsProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/ng-scripts'); 
ngscriptsProxy.route = '/ng-scripts'; 
var commonProxy = url.parse('http://localhost:' + iisPort + iisAppContext + '/common'); 
commonProxy.route = '/common'; 

var proxies = [proxy(apiProxy), proxy(mvnDepsProxy), proxy(imagesProxy), proxy(ngscriptsProxy), proxy(commonProxy)]; 

browserSync.init({ 
    server: { 
     baseDir: './', 
     middleware: proxies, 
     files: ["css/**/*.css", "**/*.html", "scripts/*.js"] 
    }, 
    open: false, 
    port: 9009 
}); 

browserSync.watch(["scripts/*.js", "**/*.html", "css/*.css"]).on("change", browserSync.reload); 

を、私は、このようなNPMスクリプトからこれを呼び出します

関連する問題