使用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進入任何其他視圖。
相關文章:
1. javascript - js 有什么優雅的辦法實現在同時打開的兩個標簽頁間相互通信?2. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決3. javascript - angular和jquery都用到了$符號,一起用會不會沖突?4. javascript - 怎樣限制同一個瀏覽器不能登錄兩個賬號5. 想找個php大神仿個網站。6. java - android代碼重構:如何把app設置里的頭像UI做成通用的?7. java - 新手做一個安卓視頻播放器,想實現一個進度條,按鈕那種在視頻下方懸浮的功能,不知道思路!8. javascript - jquery怎么給select option一個點擊時觸發的事件,如圖 如果選擇自定義觸發一個時間?9. nginx配置server模塊的問題10. mysql優化 - 關于mysql分區
