如何使用NodeJS和browserSync进行服务器端HTML5模式URL重写

问题描述 投票:1回答:1

如何删除#!在我的AngularJS应用程序中添加到url?

我已经尝试过:-$locationProvider.html5Mode(true).hashPrefix('!');加上<base href="/">,但无济于事。当我导航到特定的URL时,#!消失了,但是当我尝试重新加载时,出现错误:-Cannot GET

因此我上网查看,发现上述操作仅是解决方案的一半。我们还需要在服务器端重写逻辑。因此,我正在使用NodeJS和browserSync软件包启动localhost。那么,这的解决方案是什么?

注意:-我的后端和前端代码是分开的,并且都处理路由。

angularjs node.js browser-sync
1个回答
0
投票

[Browsersync中有一个名为single的选项,如果URL不存在,该选项将index.html作为备用。

为所有非资产路由提供index.html文件。使用客户端路由器时很有用]

请参阅文档:https://www.browsersync.io/docs/options#option-single

browserSync.init({
    server: {
        baseDir: 'dist',        
    },
    single: true
});
© www.soinside.com 2019 - 2024. All rights reserved.