livereload: {
options: {
open: true,
middleware: function (connect) {
var modRewrite = require('connect-modrewrite');
return [
modRewrite([
'!\\.html|\\.js|\\.css|\\.svg|\\.png$ /index.html [L]'
]),
connect.static('.tmp'),
connect().use(
'/bower_components',
connect.static('./bower_components')
),
connect().use(
'/app/styles',
connect.static('./app/styles')
),
connect.static(appConfig.app)
//lrSnippet
//mountFolder(connect, '.tmp'),
//mountFolder(connect, appConfig.app)
];
}
}
},
将Gruntfile.js文件改成这样后就出现Failed to decode downloaded font错误,实在是不知道怎么办了 求助啊!!!!!!!
已经启用grunt,换用gulp了。在gulp中使用browerSync + connect-history-api-fallback 来实现静态服务器,浏览器刷新工作。
var browserSync = require('browser-sync); var historyApiFallback = require('connect-history-api-fallback'); gulp.task('serve', function () { return browserSync({ server: { baseDir: "./dist", middleware: [historyApiFallback /* 这个是启用gzip, compression() */] }, port: 9000, files: [] }); });
对于你本身的问题,我建议你可以先按照https://github.com/tinganho/connect-modrewrite 默认配置跑起来,再去修改配置项。
使用grunt是没有问题的,我现在是要将路由中的#去掉,然后找了解决方案是可以的了,但又出现了一个新的问题,在浏览器中直接使用地址访问就会出现Cannot GET /main错误,代码就改成上面那样,接着就是不论是启动访问,还是直接使用地址访问,对于web字体都是没有加载的。
@kistliu: 两点问题,直接访问报404,是因为你输入地址的时候,angular还没有接管路由,导致直接走静态请求,所以找不到。这个的解决方案,就是使用require('connect-history-api-fallback')这个包,放在你的静态服务器中间件中。
关于web字体加载的问题,首先你要确认你的web字体发起了请求,然后在'!\\.html|\\.js|\\.css|\\.svg|\\.png$ /index.html [L]'这种里面,要排除掉你的字体格式,要不然又不走文件请求了。