当前位置: 首页 > 面试题库 >

使用Grunt connect的AngularJS html5Mode。咕unt 0.4.5

闾丘霖
2023-03-14
问题内容

我最近切换到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,
        hostname: '*IP HERE*',
        livereload: 35729
    },
    livereload: {
        options: {
            open: true,
            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.static('.tmp'),
                connect().use(
                    '/bower_components',
                    connect.static('./bower_components')
                ),
                connect.static(appConfig.app)
            ];
        }
    }
},

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

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


 类似资料:
  • 看起来 grpc 先决条件是 java 7 或更高版本。 安装grpc时出现异常。Java . lang . unsupportedclassversionerror:com/Google/proto buf/grad le/proto buf plugin:不支持的major.minor版本51.0 我有java 6在本地运行。可能是grpc运行java 6的一种方式?

  • 我正在使用Guzzle6开发一个Laravel应用程序。很多功能都依赖于API,我已经为其创建了一个包装器。 我的包装器是一个类,它在<code>__construct()。 我使用的API每10秒钟有40个请求的限制。我正在缓存东西,所以很少会达到这个极限,但是我想知道如果达到这个极限,我的应用程序不会就这么死掉! 关于我的应用程序的一些注意事项: 仅当过去 6 小时内未进行相同调用时,才会进行

  • 我正在我的网络空间上安装Google API PHP客户端(2.1.0)并遵循本教程。问题是当我转到时,我有一个PHP错误: 致命错误:未捕获异常“GuzzleHttp\Ring\exception\ConnectException”,消息为“cURL error 6:请参阅”http://curl.haxx.se/libcurl/c/libcurl-errors.html'in/reportin

  • 我在Windows8机器上从命令行运行Grunt时出现问题。 我的研究表明,最常见的解决方案是安装grunt-cli,因为Grunt不再是全局的。我还需要确保实际安装了Grunt任务运行程序,因为它不是与grunt-cli一起安装的。 其他解决方案指向PATH系统环境变量,但它似乎与我预期的一样: null

  • 时间规定死30分钟,所以没怎么问java基础知识 自我介绍 TCP三次握手 拥塞控制 滑动窗口,发送方如何确定该发送多少条数据 两个List求交集,有无更优的方法 mysql求班级人数 项目相关,库存超卖怎么控制的,场景问题:退掉的物品如何恢复库存 如何控制只用5个线程实现文件读取(固定线程池的核心线程数和最大线程数都为5) 反问 总结: 1.mysql一定要会基础的命令 2.项目问题一定要讲清楚

  • 卷子类型(研发类A卷)时长70分钟,题型: 15道单选+6道多选+5道判断+1道编程+140道性格测评 涉及:C,C++,Java,数据库,Spring,Mybatis,Linux命令等 吐槽:编程简单是很简单,输入也不知道到底是啥格式,通过率0%😠#秋招#