继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Angular开启html5模式,配合nginx配置去除路由的#号

三环没有少_hshhshs
关注TA
已关注
手记 3
粉丝 1
获赞 348

1.为什么Angular实现的SPA路由会有#号?
由于是SPA,因此需要使用#号来实现锚点,从而实现不刷新页面


2.什么情况下要去掉#号:
1.当你觉得带有#号的路由很丑的时候
2.当你需要使用GA等工具的时候(由于无法获取#号后的URL,因此对于GA等网页分析工具是灾难,当然你也可以在每次路由切换的 时候给GA发一个路径)


3.我是如何去掉#号的?
第一步:注入$locationProvider,开启html5Mode模式
$locationProvider.html5Mode(true);
第二步:改写nginx的配置文件(/etc/nginx/nginx.conf)
只处理根路径,其他路径全部忽略

http {
    server {
        listen 80;
        server_name localhost;
        root /usr/share/nginx/html;
        location / {
            try_files $uri /index.html;
        }
    }
}

备注:
当然nginx有很多很强大配置,希望大家自己去挖掘。
如有错误,请指出,谢谢。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP