angularjs 路由使用html5风格 具体解决方案
2017-05-31 13:58
190 查看
1.angular主模块的.config 配置
app.config(['$routeProvider','$locationProvider',function($routeProvider,$locationProvider) { $locationProvider.html5Mode(true); /*angular路由为兼容低版本浏览器,路由会默认使用标签模式(hashbang)即“/#!/” 具体配置如下: $locationProvider.html5Mode(false); $locationProvider.hashPrefix('!'); */ ...... }
2. index.html的header部分添加标签 指定应用的基础路径
如:3. 服务器端进行相应配置,保证路由始终使用angular路由
以nginx服务器配置为例:server {
listen 80;
server_name ng.me;
location / {
root D:/nginx-1.12.0/html/ng/ngRoute;
index index.html;
try_files uriuri/ =404; // 关键设置
} }`
可能遇到的坑: 路由页面出现404 或者 控制台报错:Maximum call stack size exceeded
问题原因:
server { listen 80; server_name ng.me; location / { root D:/nginx-1.12.0/html/ng/ngRoute; index index.html; try_files $uri $uri/ =404; } }
try_files 里丢了 index.html,导致angular无法递归找到index.html 故会报错Maximum call stack size exceeded
解决方案:
正确配置try_files: uriuri/ /index.html =404;
index.html作为应用的入口文件 负责加载所有的js文件,一定要配置!
相关文章推荐
- angularjs学习笔记01--ng-view和路由的使用
- 深入了解前端路由的实现机制以及angularjs-route-ui的使用
- AngularJS使用ui-route实现多层嵌套路由的示例
- 打造支持apk下载和html5缓存的 IIS(配合一个超简单的android APP使用)具体解释
- 简单讲解AngularJS的Routing路由的定义与使用
- [置顶]AngularJS“路由”的定义概念、使用详解——AngularJS学习资料教程
- angularJS中-$route路由-$http(ajax)的使用
- html5_AngularJs简单使用2
- AngularJS实现使用路由切换视图的方法
- 诱导风格范围与HTML5画布使用堆栈状态
- 跨域解决方案 & 使用angularJS和jQuery进行Ajax请求的差异
- 使用AngularJS对路由进行安全性处理的方法
- AngularJS路由删除#符号解决方案
- AngularJs多重视图和路由的使用
- 第3篇:angularJS使用ui-router的嵌套路由配置
- ie8以下版本(包括ie8)的浏览器不支持html5标签属性解决方案(Modernizr 2.6.2插件的使用)
- 使用 AngularJS 的路由和模板实现单页应用 (Single Page)
- 跨域解决方案 & 使用angularJS和jQuery进行Ajax请求的差异
- AngularJS html5Mode与ASP.NET MVC路由共存
- AngularJS中使用HTML5手机摄像头拍照