你如何处理 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 = '/';
}]);
}());
在部署到产品之前不必担心在某处切换根路径的任何想法?