Javascript 为什么MEAN.js应用程序';URL以#开头!
我刚刚开始了我的第一个平均应用程序构建。在发现mean.js如何组织应用程序后,我想知道为什么URL以Javascript 为什么MEAN.js应用程序';URL以#开头!,javascript,angularjs,url,mean-stack,meanjs,Javascript,Angularjs,Url,Mean Stack,Meanjs,我刚刚开始了我的第一个平均应用程序构建。在发现mean.js如何组织应用程序后,我想知道为什么URL以/#开头/ 例如,对于我想要的登录页面: http://example.com/login 而不是: http://example.com/#!/login 所以我看了一下特快专车,没有发现任何东西。我也阅读了完整的MEAN.JS文档,但仍然没有找到任何内容 在Angular的模块配置路由文件中,URL的前缀不是#: users.client.routes.js: ... state('lo
/#开头/代码>
例如,对于我想要的登录页面:
http://example.com/login
而不是:
http://example.com/#!/login
所以我看了一下特快专车,没有发现任何东西。我也阅读了完整的MEAN.JS文档,但仍然没有找到任何内容
在Angular的模块配置路由文件中,URL的前缀不是#代码>:
users.client.routes.js:
...
state('login', {
url: '/login',
templateUrl: 'modules/users/views/authentication/login.client.view.html'
}).
...
最后我有两个问题:
为什么URL是这样开始的?这背后有好的实践吗
如果这不是一件坏事,我如何以及在哪里可以更改这些URL
Angular在非HTML5浏览器的url中使用标签
这可以通过以下方式解决:
angular.module('yourapp').config(function($locationProvider) {
$locationProvider.html5Mode(true);
}));
Angular在非HTML5浏览器的url中使用标签
这可以通过以下方式解决:
angular.module('yourapp').config(function($locationProvider) {
$locationProvider.html5Mode(true);
}));
Angular与所有单页应用程序框架一样,使用散列#
锚来欺骗浏览器将客户端链接重定向回JavaScript,而不是发出服务器请求。用于管理此过程
$location
服务解析浏览器地址栏中的URL(基于window.location
)并使该URL可供应用程序使用。对地址栏中URL的更改将反映到$location服务中,对$location的更改将反映到浏览器地址栏中
其他框架使用hashbang或#
允许您仍然使用#
进行实际页面定位。如果您的目标用户使用兼容HTML 5的浏览器,并且您已经在服务器上配置了其他重定向,则可以自定义角度定位服务以启用此功能,也可以自定义角度定位服务以允许您根本不使用
js开发团队选择启用hashbang格式作为他们的标准。在中,您将看到$locationProvider.hashPrefix(“!”)代码>
您还可以使用自己的自定义项(例如,$
路径的$
)覆盖此项,删除此行并恢复为默认值
,而不是\代码>用于角度,或启用HTML 5模式
彻底阅读文档是一个好主意,因为它讨论了页面刷新影响、web爬虫、服务器配置选项、HTML 5模式的注意事项等。与所有单页应用程序框架一样,使用散列#
锚来欺骗浏览器将客户端链接重定向回JavaScript,而不是发出服务器请求。用于管理此过程
$location
服务解析浏览器地址栏中的URL(基于window.location
)并使该URL可供应用程序使用。对地址栏中URL的更改将反映到$location服务中,对$location的更改将反映到浏览器地址栏中
其他框架使用hashbang或#
允许您仍然使用#
进行实际页面定位。如果您的目标用户使用兼容HTML 5的浏览器,并且您已经在服务器上配置了其他重定向,则可以自定义角度定位服务以启用此功能,也可以自定义角度定位服务以允许您根本不使用
js开发团队选择启用hashbang格式作为他们的标准。在中,您将看到$locationProvider.hashPrefix(“!”)代码>
您还可以使用自己的自定义项(例如,$
路径的$
)覆盖此项,删除此行并恢复为默认值
,而不是\代码>用于角度,或启用HTML 5模式
彻底阅读文档是一个好主意,因为它讨论了页面刷新影响、web爬虫、服务器配置选项、HTML5模式的注意事项等