您的位置:首页技术文章
文章详情页

使用Grunt connect的AngularJS html5Mode咕unt 0.4.5

【字号: 日期:2024-05-17 15:35:26浏览:90作者:猪猪
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决使用Grunt connect的AngularJS html5Mode咕unt 0.4.5?

如果有人偶然发现此问题,请解决以下问题:

(添加的唯一行是modRewrite行)

livereload: { options: {open: true,middleware: function (connect) { return [modRewrite([’^[^.]*$ /index.html [L]’]),connect.static(’.tmp’),connect().use( ’/bower_components’, connect.static(’./bower_components’)),connect.static(appConfig.app) ];} }},

确保在grunt文件的顶部声明了以下内容:

var modRewrite = require(’connect-modrewrite’);解决方法

我最近切换到grunt 0.4.5,它改变了连接的工作方式。

我以前使用过connect-modrewrite,它工作得很好(/:parameter生成的URL出现了一些问题)。

这是与生成器角度0.8.0的grunt 0.4.1一起使用的旧版本,中间件部分由我修改为使用html5mode。

connect: { options: {port: 9000,hostname: ’*IP HERE*’,livereload: 35729,middleware: function (connect,options) { var optBase = (typeof options.base === ’string’) ? [options.base] : options.base; return [require(’connect-modrewrite’)([’!(..+)$ / [L]’])].concat(optBase.map(function(path){ return connect.static(path); }) );} },livereload: {options: { open: true,base: [’.tmp’,’<%= yeoman.app %>’ ]} },

这是Generator-angular 0.9.0-1中的新版本

connect: { options: {port: 9000,livereload: 35729 },middleware: function (connect) {return [ connect.static(’.tmp’),connect().use(’/bower_components’,connect.static(’./bower_components’) ),connect.static(appConfig.app)]; }} },

如何更改此格式以使用mod-rewrite或任何其他方法来实现html5mode?

我尝试使用此处提供的方法:https ://gist.github.com/nnarhinen/7719157我将其组合以创建以下内容:

middleware: function (connect) { return [connect.static(modRewrite([’^[^.]*$ /index.html [L]’])),connect.static(’.tmp’),connect().use( ’/bower_components’,connect.static(’./bower_components’)),connect.static(appConfig.app) ];}

这使我可以查看普通视图,但是modRewrite部分似乎没有执行所需的操作,以便通过url进入任何其他视图。

标签: Html5
相关文章: