AngularJS html5Mode使用Grunt连接 哼了0.4.5

前端之家收集整理的这篇文章主要介绍了AngularJS html5Mode使用Grunt连接 哼了0.4.5前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近切换到勉强0.4.5,它改变了连接的工作原理。

我以前使用connect-modrewrite,它的工作相当(由/:参数生成的urls有一些问题)。

这是旧版本,与发电机角度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 %>'
            ]
        }
    },

这是从发生器角度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到任何其他视图。

如果有人绊倒这里是修复:

(添加的唯一行是modRewrite行)

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

确保您的grunt文件的顶部声明如下:

var modRewrite = require('connect-modrewrite');

猜你在找的Angularjs相关文章