8

我刚刚升级到 RequireJS 2.1.1 - 我正在加载一个 AngularJS 应用程序。在主定义运行之前,我从 Angular 获得“无模块:应用程序”。

它在 RequireJS 2.0.1 上运行良好。知道可能发生了什么变化吗?

这是 public/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>

这里是 public/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
4

2 回答 2

22

在这种情况下,您应该手动引导 angular 并删除 ng-app 属性,因为该模块在 dom 就绪时不可用:

angular.bootstrap document, ['app']

在您的定义功能结束时

于 2012-10-23T15:46:25.893 回答
-1

你需要添加这个js文件:angular-resource.js

于 2013-02-10T03:24:21.960 回答