2012-10-22 17 views
8

Właśnie zaktualizowałem do RequireJS 2.1.1 - Mam aplikację AngularJS, którą ładuję z nią. Otrzymuję "Brak modułu: aplikacja" z kątowego przed głównymi przebiegami definiującymi.AngularJS nie może znaleźć modułu z najnowszym RequireJS

Działa poprawnie na RequireJS 2.0.1. Jakiś pomysł, co mogło się zmienić?

Oto jest publiczna/index.html

<!doctype html> 
<html lang="en" ng-app="app"> 
<head> 
    <meta charset="utf-8"> 
    <title>AngularJS</title> 
    <link rel="stylesheet" href="css/style.css"/> 
    <script data-main="main" src="requirejs/require.js"></script> 
</head> 
<body> 
    <div ng-view></div> 
</body> 
</html> 

I tu jest publiczna/main.coffee

require.config 

    shim: 
    underscore: exports: '_' 
    ngResource: 
     exports: 'angular' 
     deps: ['angular'] 
    angular: 
     exports: 'angular' 
     deps: ['jquery'] 
    jquery: exports: 'jQuery' 

    paths: 
    underscore: 'underscore/index' 
    angular: 'AngularJS/angular' 
    ngResource: 'angular-modules/resource' 
    jquery: 'jquery/jquery' 

# Bootstrap angularjs using requirejs. 
define [], (require) -> 
    angular = require 'angular' 
    ngResource = require 'ngResource' 

    TestCtrl = require 'controllers/TestCtrl' 

    ## ROUTER ########### 
    app = angular.module 'app', ['ngResource'], ($routeProvider) -> 
    $routeProvider.when '/test', {templateUrl: 'partials/test.html', controller: TestCtrl} 
    $routeProvider.otherwise {redirectTo: '/test'} 

    return app 

Odpowiedz

22

Należy ręcznie bootstrap kanciasty i usunąć atrybut ng aplikacji w tym przypadku, ponieważ moduł nie jest dostępny w domowym stanie:

angular.bootstrap document, ['app'] 

na końcu funkcji definiowania

+0

Interesujący. Nadal wyrzuca błąd braku modułu, ale potem aplikacja ładuje się później. Nadal wydaje się dziwne. Czy wiesz, co zmieniło się pomiędzy 2.0 a 2.1? –

+0

Jeśli usuwam również deklarację ng-app na tagu HTML, działa bez żadnego błędu. –

+0

Masz rację, dodam to do odpowiedzi – Guillaume86

-1

Musisz dodać ten plik js: angular-resource.js

Powiązane problemy