【发布时间】:2016-02-03 18:37:37
【问题描述】:
我正在尝试使用 gulp 和 gulp-webserver 为量角器测试提供一些静态内容。 对于所有以 '/mocks' 开头的路由,我想从基本路径 test/mocks 提供服务(这是构建服务器的设置方式 - 我无法更改)。
经过多次试验和错误,我得到了如下所示的配置:
gulp.task('serve-e2e', ['build-dev'], function() {
gulp.src('app').pipe(webserver({
port: 9001,
middleware: [
{route: '/mocks', handle: serveStatic('test/mocks')}
]
}));
});
但是,对于以 /mocks 开头的所有内容,这仍然会给我 404 错误(我已经验证了文件夹位置 - 那里没有错)。
我什至试过这个 - 查看 gulp-webserver 中的代码,中间件只接受函数 - 仍然无济于事:
gulp.task('serve-e2e', ['build-dev'], function() {
gulp.src('app').pipe(webserver({
port: 9001,
middleware: [
getStatic({route: /^\/mocks/, handle: serveStatic('test/mocks')})
]
})
);
function getStatic(opts) {
return function(req, res, next) {
if (parseurl(req).pathname.match(opts.route)) {
return opts.handle(req, res, next);
} else {
return next();
}
}
}
我确信有更好的方法可以做到这一点,但我很难过。有人可以帮帮我吗?
【问题讨论】:
标签: gulp middleware e2e-testing