AngularJS загружается дважды, что приводит к ошибкам - PullRequest
0 голосов
/ 19 сентября 2018

Я разрабатываю угловое (1.7) приложение, и у меня возникают некоторые проблемы из-за двойной загрузки приложения.По сути, у меня есть огромное внешнее приложение, и я пытаюсь просто взять некоторые его части и создать плагин для Outlook.У меня проблема в том, что из-за двойной загрузки приложения загружаются все остальные контроллеры, которые меня не интересуют.Подробнее об этом см. Ниже.

Мой файл app.js выглядит как

angular.module(APP, [
    'ui.router',
    'templates-outlook',
    'ngCookies',
]).config([
        '$locationProvider',
        '$urlRouterProvider',
        '$stateProvider',
        function ($locationProvider,  $urlRouterProvider,  $stateProvider,$sceProvider, $sceDelegateProvider) {
            
            console.log('APP.JS');

            if(Office !== "undefined") {
                Office.initialize = function (reason) {
                    Office.onReady().then((res) => {
                        console.log('wagamama', res);
                    })
                };
            }
            
            if (location.hash === '') {
                $locationProvider.html5Mode(true);  // HTML5
            } else {
                $locationProvider.hashPrefix('!');
            }

            $stateProvider
                .state('extension/', {
                    url: '/extension/',
                    templateUrl: 'templates/outlook/extension.html/',
                    controller: 'ExtensionController'
                });
                
            $urlRouterProvider.otherwise('/');

        }]) ...
        
        

В моем файле index.php у меня есть что-то вроде

if (strncmp($_SERVER['REQUEST_URI'], '/extension/', 9) === 0) {
	require('./index.extension.php');
	exit();
} 

Смысл приведенного выше кода таков, что при посещении пользователем http://8c6rr91e.ngrok.io/extension остальная часть приложения не загружается.

Что происходит, так это то, что пользователь переходит на http://8c6rr91e.ngrok.io/extension

В консоли я вижу следующее: APP.JS Response: {.... // office stuff}

Затемстраница перезагружается, URL-адрес меняется на http://8c6ec91e.ngrok.io/#!/, проверка php не проходит, и поэтому загружается все приложение, в результате чего возникают две ошибки:

1 - офис не определен 2 - все остальные контроллерыв основном загружаемом приложении и, следовательно, ошибка инжектора

Мои вопросы: - Как избежать двойной загрузки?- Что случилось с #?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...