Подтвердить что ты не робот

Angular.js: Не удалось получить ошибку, нет модуля: myapp

Я пытаюсь запустить bootstrap в проект angular.js. Это мой index.html:

<!doctype html>
<html ng-app="myapp">
<head>
    <meta charset="utf-8">
    <base href="{% url 'app' %}" />

    <title>Project</title>
</head>
<body>
    <div ng-view>
        <p>Loading...</p>
    </div>

    <script>
        var url = function(path) { return '{{ STATIC_URL }}' + path };
    </script>
    <script src="{{ STATIC_URL }}js/jquery-1.10.1.js"></script>
    <script src="{{ STATIC_URL }}js/angular.js"></script>
    <script src="{{ STATIC_URL }}js/project/app.js"></script>
    <script src="{{ STATIC_URL }}js/project/controllers.js"></script>
</body>
</html>

url 'app' на голове просто печатает подпуть/приложение, например. Это мой app.js:

'use strict';

var app = angular.module('myapp', []);

app.config(['$routeProvider', function($router) {
    $router.when('/', {
        templateUrl: url('partials/foo.html'),
        controller: controllers.Foo
    });
}]);

Проблема в том, что каждый раз, когда я пытаюсь запустить ее, возникает исключение: Uncaught Error: No module: myapp, и это почти то же самое angular-seed работает. Я искал в Google и StackOverflow, но ни один из ответов (один и два) мне помог.

Здесь fiddle о моей ошибке (вы должны открыть консоль браузера, чтобы увидеть ее). Что не так?

4b9b3361

Ответ 1

Порядок вашего script очень важен, попробуйте поместить его в свой <head>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script>
    var app = angular.module('myapp', []);

    app.controller('Ctrl', function($scope){
        $scope.variable = "Hello";
    });
</script>
<body ng-app="myapp">
    <div ng-controller="Ctrl">
        <p>{{variable}}</p>
    </div>    
</body>

Попробуйте здесь:

http://jsfiddle.net/vvfnN/2/

Ответ 2

Дополняя AlexCheuk, я понял, что мой файл app.js был задействован в закрытии:

(function($) {
    'use strict';

    // all angular.js stuff
)(jQuery);

Убрав закрытие, он работал (без изменения заказов, как сказал Алекс)! Я не знаю, почему, но это нормально.

Ответ 3

Я сталкиваюсь с одной и той же проблемой, но ни один из вышеперечисленных трюков не работал у меня, но этот, см. настройку в изображении

Измените "OnLoad" на "No wrap" -

введите описание изображения здесь

Ответ 4

В моем случае при использовании обозначения IIFE я забыл, что я вызываю круглые скобки.

(function () {
     angular.module("adminApp", []); 
}() //don't forget self invoke parentheses
);  

Ответ 5

i столкнулась с той же ошибкой, но я делал глупую ошибку, я не включал файл controller.js на мою страницу jsp. просто включил это:

<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/controller.js"></script>

Ответ 6

Я столкнулся с аналогичной проблемой, когда там, во время запуска сервера Yeoman/grunt. Что исправлено для меня, был перезапуск сервера grunt.