我正在尝试使用grunt contrib connect进行角度应用的本地开发和测试。
gruntfile的配置如下:
connect: {
server: {
options: {
open: true,
keepalive: true,
hostname: 'localhost',
port: 8080
}
}
}
和任务
grunt.registerTask('serve', [
'connect:server'
]);
grunt serve
使用根目录的文件列表打开浏览器。单击dist
目录启动应用程序。一切都很好,直到这里:可以从应用程序菜单更改页面,但是...直接访问或重新加载任何这些页面,给出Cannot GET /dist/page
...有必要回到`localhost:8080 / dist'来制作它再次起作用......
我能做些什么来完成这项工作?
答案 0 :(得分:3)
我使用grunt here
找到了解决方案connect-modrewritegrunt任务现在是:
server: {
options: {
port: 9000,
livereload: 35729,
hostname: 'localhost',
open: true,
middleware: function (connect) {
return [
modRewrite(['^[^\\.]*$ /index.html [L]']),
connect.static('dist')
];
}
}
}
答案 1 :(得分:0)
我建议您添加 base 选项以指定' dist' directory作为Connect服务器的根目录:
connect: {
server: {
options: {
open: true,
keepalive: true,
hostname: 'localhost',
port: 8080,
base: 'dist'
}
}
}
如果这不能解决您的问题,至少会使路线不那么混乱。