我尝试过: - $locationProvider.html5Mode(true).hashPrefix('!');
并添加<base href="/">
但无济于事。当我导航到特定网址时,#!消失,但当我尝试重新加载时,它会给出错误: - Cannot GET
。
所以我在网上看了一下,发现上面做的只是解决方案的一半。我们还需要在服务器端重写逻辑。所以我使用NodeJS和browserSync包来启动localhost。那么这个解决方案是什么?
注意: - 我的后端和前端代码是分开的,都处理路由。
答案 0 :(得分:0)
Browsersync中有一个名为 single 的选项,如果网址不存在,该选项将index.html作为备用。
为所有非资产路线提供index.html文件。使用客户端路由器时很有用
请参阅文档: https://www.browsersync.io/docs/options#option-single
browserSync.init({
server: {
baseDir: 'dist',
},
single: true
});