AngularJS で仮想パスをどのように処理しますか?
たとえば、私のテスト環境では、私のベース URL はhttp://localhost/AppName/であり、本番環境ではルートは になりhttp://www.mysite.com/ます。
したがって、開発では、パスが存在しない$http.getと言うhttp://localhost/AppName/Controller/Actionことができますが、製品では、パスが存在する必要がありますhttp://www.mysite.com/Controller/Action。
$httpでバックエンドをモックするときの呼び出しや単体テストをどのように処理します$httpBackendか?
(ASP.NET MVCを使用して)これを試しました_Layout.cshtmlが、単体テストでは機能しません:
<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 = '/';
}]);
}());
prod にデプロイする前にルート パスをどこかに切り替えることを心配する必要がないというアイデアはありますか?