【发布时间】:2014-07-03 06:30:08
【问题描述】:
我正在尝试使用gulp-connect 将所有请求转发到api/ 到localhost:3000。我在https://github.com/AveVlad/gulp-connect/issues/27找到了一个例子
并像这样设置我的连接任务:
gulp.task('connect', function(){
connect.server({
root: './app',
middleware: function(connect, o) {
return [ (function() {
var url = require('url');
var proxy = require('proxy-middleware');
var options = url.parse('http://localhost:3000/api');
options.route = 'api';
return proxy(options);
})()]
}
});
});
运行此任务会警告connect deprecated connect(middleware): use app.use(middleware) instead node_modules/gulp-connect/index.js:39:19,并且此任务不会按预期转发请求。
我查看了connect 来源,看看是否可以解决折旧问题,但这超出了我在 js 中的水平:
ConnectApp.prototype.server = function() {
var app, middleware;
middleware = this.middleware();
app = connect.apply(null, middleware);
server = http.createServer(app);
app.use(connect.directory(typeof opt.root === "object" ? opt.root[0] : opt.root));
server.listen(opt.port);
this.log("Server started http://" + opt.host + ":" + opt.port);
if (opt.livereload) {
tiny_lr.Server.prototype.error = function() {};
lr = tiny_lr();
lr.listen(opt.livereload.port);
return this.log("LiveReload started on port " + opt.livereload.port);
}
};
我不知道如何更改我的 gulp 文件以使用 app.use(middleware),app 变量未由连接模块导出。
【问题讨论】:
标签: javascript gulp