我已经尝试并搜索了很多但我无法找到以下设置的任何有效解决方案:
我尝试的最后一个选项是使用connect-modrewrite,但这也没有用。我认为我接近使用https://github.com/expressjs/urlrouter但是虽然它说支持快速服务器功能,但在angularUI路由器FAQ(https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode)中描述的设置不起作用
app.all('/*', function(req, res, next) {
// Just send the index.html for other files to support HTML5Mode
res.sendFile('index.html', { root: __dirname });
});
我收到错误,发送文件不起作用。当我看到urlrouter项目接缝被抛弃时,我放弃了这种方式。所以我尝试使用connect-modrewrite并立即进行此配置:
gulp.task('connect', ['sass', 'fonts'], function () {
var serveStatic = require('serve-static');
var serveIndex = require('serve-index');
var modRewrite = require('connect-modrewrite');
var app = require('connect')()
.use(require('connect-livereload')({port: 35729}))
.use(serveStatic('.tmp'))
.use(serveStatic('app'))
.use('/bower_components', serveStatic('bower_components'))
.use(serveIndex('app'))
.use(modRewrite(['^ app/index.html [L]']));
require('http').createServer(app)
.listen(9010)
.on('listening', function () {
console.log('Started connect web server on http://localhost:9010');
});
});
gulp.task('serve', ['connect', 'watch'], function () {
require('opn')('http://localhost:9010');
});
但我得到的只是一个"无法获得"尝试直接从链接加载页面时。那么我错过了什么?如何使用连接的HTML5模式或者我真的必须使用expressJS?