Мне нужно динамически добавлять скрипт на странице index.html
в зависимости от версии приложения. У меня есть контроллер, который возвращает версию приложения и пытался сделать это с помощью angularjs:Загрузите местоположение сценария с сервера до того, как угловой загрузится
var resourceLoader = angular.module('MyTabs', []);
resourceLoader.controller('ResourceLoaderController', ['$scope', '$http', function ($scope, $http) {
$scope.getVersion = function() {
$http.get('/version/get').then(function (response) {
$scope.version = response.data;
var link = document.createElement("link");
link.setAttribute("type", "text/css");
link.setAttribute("rel", "stylesheet");
link.setAttribute("href", '/r/' + $scope.version +'/css/app.css');
document.getElementsByTagName("head")[0].appendChild(link);
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", '/r/' + $scope.version +'/js/app.js');
document.getElementsByTagName("head")[0].appendChild(script);
});
};
$scope.getVersion();
}]);
Он работает, но есть угловые контроллеры в app.js
, и я получаю сообщение об ошибке во время выполнения, что AuthController
, используемый в index.html
, не определен.
Есть ли способ получить версию приложения с сервера и включить скрипт, прежде чем angularjs начнет обрабатывать веб-страницу?
Что вы подразумеваете под версией приложения? Угловой? –
upvote для обоих вопросов, потому что вы не изменили [предыдущий] (http://stackoverflow.com/questions/34433750/get-script-location-from-server), когда была найдена следующая проблема. –
Версия приложения - это номер, который возвращает «/ version/get». Угловая - это js framework (https://angularjs.org/) – Kirill