As the development environment might be different from the production environment I have found it to be troublesome to hardcode url instead of using variables. This is especially true when virtual directories are involved.
I for example have a Angular app backed by WebApi. It might all work fine until I host it under a virtual directory, then I do not find the partial.html and api urls because I ignore them.
I had this idea I would create a service in the initialization of the index file where the app is bootstrapped.
<script type="text/javascript">
angular.module('MyApp').factory('urlService', function () {
var urlService = {
partialsUrl: '@Url.Content("~/Content/Partials/")',
Url: '@Url.RouteUrl("Default")'
}
return urlService;
});
</script>
and then inject this where needed but it isn't working. I get
Uncaught Error: [$injector:modulerr] Failed to instantiate module MyApp due to:
Error: [$injector:unpr] Unknown provider: urlService
Might be some timing issue, I added this script after both the angular.js and app.js
How do you guys normally do something like this?