gpt4 book ai didi

使用 Grunt 连接的 AngularJS html5Mode。咕噜0.4.5

转载 作者:行者123 更新时间:2023-12-02 19:25:38 25 4
gpt4 key购买 nike

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

我以前使用过 connect-modrewrite 并且它运行得很好(由/:parameter 生成的 url 有一些问题)。

这是与 generator-gulp-angular 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-gulp-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)
];
}

这允许我查看普通 View ,但 modRewrite 部分似乎没有执行通过 url 访问任何其他 View 所需的操作。

最佳答案

如果其他人偶然发现了这个问题,这里是修复方法:

(唯一添加的行是 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 连接的 AngularJS html5Mode。咕噜0.4.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com