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 о моей ошибке (вы должны открыть консоль браузера, чтобы увидеть ее). Что не так?
Ответы
Ответ 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.