你如何处理 AngularJS 中的虚拟路径?
例如,在我的测试环境中,我的基本 url 是http://localhost/AppName/
,而在生产中,根变为http://www.mysite.com/
.
所以在 dev 中,a$http.get
可以说http://localhost/AppName/Controller/Action
,但在 prod 中,路径不存在,它需要是http://www.mysite.com/Controller/Action
.
在模拟后端时,您如何处理$http
调用以及单元测试$httpBackend
?
我已经在_Layout.cshtml
(使用 ASP.NET MVC)中尝试过这个,但这在单元测试中不起作用:
<script>
(function () {
'use strict';
var app = angular.module('cs').value('urlHelper', {
getUrl: function (url) {
var basePath = '@VirtualPathUtility.ToAbsolute("~/")';
return basePath + url;
}
});
}());
</script>
也试过:
(function () {
'use strict';
var app = angular.module('cs', []);
app.run(['$rootScope', function ($rootScope) {
$rootScope.basePath = '/';
}]);
}());
在部署到产品之前不必担心在某处切换根路径的任何想法?