Proxy 在浏览器中同时设置代理和服务器Sync express gulp vagrant nodemon
特定浏览器同步配置存在问题。 我需要为测试和开发环境设置浏览器同步。 Dev是一个express应用程序,模板引擎在vagrant上工作,它需要通过代理连接。此设置在开发环境中运行良好Proxy 在浏览器中同时设置代理和服务器Sync express gulp vagrant nodemon,proxy,gulp,vagrant,browser-sync,nodemon,Proxy,Gulp,Vagrant,Browser Sync,Nodemon,特定浏览器同步配置存在问题。 我需要为测试和开发环境设置浏览器同步。 Dev是一个express应用程序,模板引擎在vagrant上工作,它需要通过代理连接。此设置在开发环境中运行良好 const browserSync = require('browser-sync').create(); const reload = browserSync.reload; var paths = { src : { devenv: ['app-dev/**/*.*', '!ap
const browserSync = require('browser-sync').create();
const reload = browserSync.reload;
var paths = {
src : {
devenv: ['app-dev/**/*.*', '!app-dev/bowercomponents/', 'app.js', 'public/**/*.*'],
testenv: 'test/spec/**/*.*'
},
};
gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init(null, {
proxy: {
target: 'http://192.168.33.10:3333',
ws: true,
},
});
});
gulp.task('serve', ['browser-sync'], function () {
gulp.watch(paths.src.devenv, reload);
});
gulp.task('nodemon', function (cb) {
var called = false;
return nodemon({script: 'app.js'}).on('start', function () {
if (!called) {
called = true;
cb();
}
});
});
问题是,需要另一个浏览器同步实例,该实例针对摩卡柴测试环境,具有完全不同的设置,该实例引用根目录中的test和bower\u components文件夹。类似于此:
gulp.task('serve:test', () => {
browserSync.get('Test Server').init({
notify: false,
port: 9999,
ui: false,
server: {
baseDir: 'test',
routes: {
'/bower_components': 'bower_components'
}
}
});
gulp.watch(paths.src.testenv, reload);
});
如果我这样设置,即使创建两个单独的浏览器同步实例,也会返回一个配置错误:无法同时设置代理和服务器。
如果我通过以下方式为测试文件夹设置不同的代理:
var proxy = require('http-proxy-middleware');
var testServer = proxy(['/test'], {
target: 'http://192.168.33.10',
port: 9999,
changeOrigin: true,
logLevel: 'debug'
});
并将其添加到主浏览器sync init中,它只返回/无法获取测试。
有没有办法让他们俩都工作 解决了它。
无需使用browserSync.get
。一个浏览器同步实例就足够了。
这是工作配置:
gulp.task('serve:test', () => {
browserSync.init({
notify: false,
port: 9999,
ui: false,
server: {
baseDir: 'test',
routes: {
'/bower_components': 'bower_components'
}
}
});
gulp.watch(paths.dist.testscripts).on('change', reload);
});
gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init(null, {
proxy: {
target: 'http://192.168.33.10:3333', //VM's ip and port
ws: true,
},
});
});
gulp.task('serve', ['browser-sync'], function () {
gulp.watch(paths.src.devenv, reload);
});
gulp.task('nodemon', function (cb) {
var called = false;
return nodemon({script: 'app.js'}).on('start', function () {
if (!called) {
called = true;
cb();
}
});
});