Javascript Grunt connect服务器返回无法获取/路由主干
我有一个运行在localhost上的connect服务器,在我的主干应用程序中,如果我重新加载一条路由,比如localhost:8000/fun,服务器返回时无法获取/fun,因为/fun不存在 不知何故,服务器需要知道如何提供index.html/fun之类的服务。我真的试过了,但我有其他错误。以前有人处理过这个问题吗 TL;DR无法获得/乐趣 您要重写:Javascript Grunt connect服务器返回无法获取/路由主干,javascript,backbone.js,gruntjs,grunt-contrib-connect,Javascript,Backbone.js,Gruntjs,Grunt Contrib Connect,我有一个运行在localhost上的connect服务器,在我的主干应用程序中,如果我重新加载一条路由,比如localhost:8000/fun,服务器返回时无法获取/fun,因为/fun不存在 不知何故,服务器需要知道如何提供index.html/fun之类的服务。我真的试过了,但我有其他错误。以前有人处理过这个问题吗 TL;DR无法获得/乐趣 您要重写: npm install connect-modrewrite --save-dev 在你的Gruntfile中: modRewrite
npm install connect-modrewrite --save-dev
在你的Gruntfile中:
modRewrite = require('connect-modrewrite')
咖啡:
connect:
server:
options:
port: 8765
open: true
base: ['./']
middleware: (connect, options) ->
middlewares = []
middlewares.push(modRewrite(['^[^\\.]*$ /index.html [L]']))
options.base.forEach( (base) ->
middlewares.push(connect.static(base))
)
middlewares
香草JS:
connect: {
server: {
options: {
port: 8765,
open: true,
base: ['./'],
middleware: function(connect, options) {
var middlewares;
middlewares = [];
middlewares.push(modRewrite(['^[^\\.]*$ /index.html [L]']));
options.base.forEach(function(base) {
return middlewares.push(connect["static"](base));
});
return middlewares;
}
}
}
}
已接受的答案不再有效(2015-10-20),因为连接项目结构和connect.static已更改为其自己的包“服务静态”。因此,您必须通过以下方式调整此答案:
npm install serve-static --save-dev
middleware: function(connect, options) {
var middlewares;
middlewares = [];
middlewares.push( modRewrite( ['^[^\\.]*$ /index.html [L]'] ) );
options.base.forEach( function( base ) {
return middlewares.push( serveStatic( base ) );
});
return middlewares;
}
在Gruntfile.js中需要它
var serveStatic = require('serve-static');
然后将中间件代码更改为以下内容:
npm install serve-static --save-dev
middleware: function(connect, options) {
var middlewares;
middlewares = [];
middlewares.push( modRewrite( ['^[^\\.]*$ /index.html [L]'] ) );
options.base.forEach( function( base ) {
return middlewares.push( serveStatic( base ) );
});
return middlewares;
}
否则它工作得很好!帮了我很多忙