我使用的咕噜与livereload对我的开发环境连接。
我希望能够调用API的生产是在/服务器。
要做到这一点我需要直接从任何电话
http://localhost:9000/server
至
http://www.production-server.com/server
因为有时我想测试生产服务器上时,在开发模式这是为我好。
这里是我当前的连接配置(通过文书上士生成):
connect: { options: { port: 9000, // Change this to '0.0.0.0' to access the server from outside. hostname: 'localhost', livereload: 35729 }, livereload: { options: { open: true, middleware: function(connect, options, middlewares) { return [ connect.static('.tmp'), connect().use( '/bower_components', connect.static('./bower_components') ), connect.static(appConfig.app) ]; } } }, test: { options: { port: 9001, middleware: function(connect) { return [ connect.static('.tmp'), connect.static('test'), connect().use( '/bower_components', connect.static('./bower_components') ), connect.static(appConfig.app) ]; } } }, dist: { options: { open: true, base: '<%= yeoman.dist %>' } } },
我发现的问题和解决方案:
首先要做的是使用:咕噜-CONNECT代理咕噜任务可以做代理(你可以做任何事情真的存在)。 配置不是很明显,但你可以找到所有的信息(例如和)在这里: https://www.npmjs.org/package/grunt-connect-proxy
我的具体的问题,是因为我的服务器不接受不是来自同一个域中的任何电话,所以我所做的就是要添加属性“头”与我的域名的配置。 这是新的配置应该怎么样子:
connect: {
options: {
port: 9000,
// Change this to '0.0.0.0' to access the server from outside.
hostname: 'localhost',
livereload: 35729
},
server: {
proxies: [
{
context: '/server',
host: 'production-server.com',
post: 80,
changeOrigin: true,
headers: {
host: 'simple-layout.com'
}
}
]
},
livereload: {
options: {
open: true,
middleware: function (connect) {
return [
proxySnippet,
connect.static('.tmp'),
connect().use(
'/bower_components',
connect.static('./bower_components')
),
connect.static(appConfig.app)
];
}
}
},
test: {
options: {
port: 9001,
middleware: function (connect) {
return [
connect.static('.tmp'),
connect.static('test'),
connect().use(
'/bower_components',
connect.static('./bower_components')
),
connect.static(appConfig.app)
];
}
}
},
dist: {
options: {
open: true,
base: '<%= yeoman.dist %>'
}
}
},