source

각도 모듈 구성이 호출되지 않음

manysource 2023. 10. 7. 12:00

각도 모듈 구성이 호출되지 않음

제 머리를 돌려보려고요 앵귤러JS와 문제가 생겼습니다.

var myApp = angular.module('myApp', ['myApp.services']);

myApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

    console.log('Configuring module "myApp"');

    $routeProvider.when('/dashboard', {templateUrl: 'partial/dashboard', controller: DashboardController});
    $routeProvider.when('/menu', {templateUrl: 'partial/other', controller: OtherController});
    $routeProvider.otherwise({redirectTo: '/dashboard'});

    $locationProvider.html5Mode(true);
 }]);

모듈이 로드되면 구성 기능을 호출하는 것으로 알고 있습니다.하지만 그렇지 않습니다!

저는.ng-app="myApp"에 대한 지시<body>태그. 그리고 본문 닫기 태그 바로 전에 스크립트가 올바른 순서로 로드됩니다(중요한 한).

    <script src="angular.js"></script>      
    <script src="app.js"></script>
    <script src="services.js"></script>
    <script src="controllers.js"></script>
</body>

제가 여기서 사소한 것을 간과하고 있는 게 분명합니다.콘솔에 메시지가 인쇄되어 있을 겁니다.그러나 오류나 경고가 전혀 없는 상태로 남아 있습니다.

경로에 따라 달라지지 않는 앱 부분은 잘 실행됩니다.

업데이트: my service.js의 단순화된 버전

'use strict';

angular.module('myApp', function ($provide) {
    $provide.factory('myService', function ($http) {
        var service = function () {
            ...
            service implementation
            ...
        };

        return new service();
    });
});

제가 서비스를 정의할 때 사용한 방법이 제 것보다 우선이었던 것 같습니다.myApp모듈.

이것은 가장 우선하는 선입니다.

angular.module('myApp', function ($provide) ...

이 코드는 단순히 다음을 재정의합니다.myApp모듈을 구성하고 함수를 추가합니다.


service.js를 이 단순화된 버전으로 리팩토링했더니 작동하기 시작했습니다.

var myApp = angular.module('myApp');

myApp.factory('securityService', function () {
    return SomeFancyServiceObject();
});

html 태그 안에 ng-app="myApp"이 빠져 있었는데, 당신의 질문을 읽다가 알게 되었습니다 :-)

저는 보통 라우팅이 함께 연결되어 적용되는 것을 봅니다.

$routeProvider
    .when('/dashboard', {templateUrl: 'partial/dashboard', controller: DashboardController})
    .when('/menu', {templateUrl: 'partial/other', controller: OtherController})
    .otherwise({redirectTo: '/dashboard'});

왜 네 것이 작동하지 않는지는 모르겠지만, 해볼 만한 가치가 있을지도 모릅니다.

언급URL : https://stackoverflow.com/questions/15877925/angular-module-config-not-called