将 grunt-connect-proxy 添加到生成器-angular gruntfile.js
Adding grunt-connect-proxy to generator-angular gruntfile.js
我正在尝试将 grunt-connect-proxy 添加到我的 gruntfile.js in a yeoman generator-angular project (generator-angular 0.15.1) 但我不能它似乎无法正常工作,因为它的编写方式发生了变化,而且我对 Grunt 的工作方式缺乏经验。
我读过很多关于这个的帖子,none 特别是最新的,gruntfile 似乎经常改变它如何实现 livereload 中间件这使得 grunt-connect-proxy 的文档在我的情况下不起作用。
棘手的部分在 livereload 下
这是它在生成器中的样子-angular gruntfile:
// The actual grunt server settings
connect: {
options: {
port: 9000,
// Change this to '0.0.0.0' to access the server from outside.
hostname: 'localhost',
livereload: 35729
},
proxies: [{
context: '/api',
host: 'localhost',
port: 8080,
https: false,
xforward: false
}],
livereload: {
options: {
open: true,
// --- how the code looks like before I do anything
middleware: function (connect) {
return [
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect().use('/app/styles', connect.static('./app/styles')),
connect.static(appConfig.app)
];
}
}
},
...
当我查看文档时,它看起来像这样:
livereload: {
options: {
middleware: function (connect, options) {
if (!Array.isArray(options.base)) {
options.base = [options.base];
}
// Setup the proxy
var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];
// Serve static files.
options.base.forEach(function(base) {
middlewares.push(connect.static(base));
});
// Make directory browse-able.
var directory = options.directory || options.base[options.base.length - 1];
middlewares.push(connect.directory(directory));
return middlewares;
}
}
}
有人可以帮我将文档翻译成编写中间件部分的新方法吗?
谢谢!!
所以我得到了一些帮助,问题是这样解决的:
livereload: {
options: {
open: true,
middleware: function(connect) {
var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];
return middlewares.concat(
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect().use('/app/styles', connect.static('./app/styles')),
connect.static(appConfig.app)
);
}
}
}
希望这对其他人也有帮助。
我正在尝试将 grunt-connect-proxy 添加到我的 gruntfile.js in a yeoman generator-angular project (generator-angular 0.15.1) 但我不能它似乎无法正常工作,因为它的编写方式发生了变化,而且我对 Grunt 的工作方式缺乏经验。
我读过很多关于这个的帖子,none 特别是最新的,gruntfile 似乎经常改变它如何实现 livereload 中间件这使得 grunt-connect-proxy 的文档在我的情况下不起作用。
棘手的部分在 livereload 下
这是它在生成器中的样子-angular gruntfile:
// The actual grunt server settings
connect: {
options: {
port: 9000,
// Change this to '0.0.0.0' to access the server from outside.
hostname: 'localhost',
livereload: 35729
},
proxies: [{
context: '/api',
host: 'localhost',
port: 8080,
https: false,
xforward: false
}],
livereload: {
options: {
open: true,
// --- how the code looks like before I do anything
middleware: function (connect) {
return [
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect().use('/app/styles', connect.static('./app/styles')),
connect.static(appConfig.app)
];
}
}
},
...
当我查看文档时,它看起来像这样:
livereload: {
options: {
middleware: function (connect, options) {
if (!Array.isArray(options.base)) {
options.base = [options.base];
}
// Setup the proxy
var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];
// Serve static files.
options.base.forEach(function(base) {
middlewares.push(connect.static(base));
});
// Make directory browse-able.
var directory = options.directory || options.base[options.base.length - 1];
middlewares.push(connect.directory(directory));
return middlewares;
}
}
}
有人可以帮我将文档翻译成编写中间件部分的新方法吗?
谢谢!!
所以我得到了一些帮助,问题是这样解决的:
livereload: {
options: {
open: true,
middleware: function(connect) {
var middlewares = [require('grunt-connect-proxy/lib/utils').proxyRequest];
return middlewares.concat(
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect().use('/app/styles', connect.static('./app/styles')),
connect.static(appConfig.app)
);
}
}
}
希望这对其他人也有帮助。