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