【问题标题】:Simple requireJS with angularJS - angular is not defined带有 angularJS 的简单 requireJS - 未定义 angular
【发布时间】:2013-10-25 04:36:27
【问题描述】:

我是 requireJS 的新手,我想启动并运行一个简单的“hello worldish”项目。不过我遗漏了一些东西,因为当GreetCtrl 尝试加载时,我得到angular is not defined 作为JS 错误。

index.html:

<!DOCTYPE html>
<html ng-app="ReqApp" ng-controller="GreetCtrl">
  <body>
    <h1>{{greeting}}!</h1>
    <script src="assets/require/require.js" data-main="assets/require/main"></script>
  </body>
</html>

main.js:

require.config({
    // alias libraries paths
  paths: {
    'domReady':      'domReady',
    'angular':       '../../vendor/angular/angular.min',
    'GreetCtrl':     '../../src/app/modules/GreetCtrl',
    'app':           '../../src/app/app'
  },
  // angular does not support AMD out of the box, put it in a shim
  shim: {
    'angular': {
      exports: 'angular'
    }
  },
  // kick start application
  deps: ['./bootstrap']
});

bootstrap.js:

define([
    'require',
    'angular',
    'app'
], function (require, ng) {
    'use strict';

    require(['domReady!'], function (document) {
        ng.bootstrap(document, ['ReqApp']);
    });
});

app.js:

define([
  'angular',
  'GreetCtrl'
], function (ng) {
  'use strict';

  return ng.module('ReqApp', [
    'ReqApp.GreetCtrl'
  ]);
});

最后是 GreetCtrl.js:

angular.module( 'ReqApp.GreetCtrl', [])
.controller( 'GreetCtrl', function GreetCtrl ($scope) {
  $scope.greeting = "greetings puny human";
});

根据萤火虫,GreetCtrl.js 的第 1 行会抛出 angular is not defined 的错误。我在这里错过了什么?

提前致谢!!

【问题讨论】:

    标签: angularjs requirejs


    【解决方案1】:

    您还没有告诉GreetCtrl 它依赖于angular,因此它是undefined。尝试将GreetCtrl 更改为这样

    define(['angular'], function(angular){
        angular.module( 'ReqApp.GreetCtrl', [])
        .controller( 'GreetCtrl', function GreetCtrl ($scope) {
             $scope.greeting = "greetings puny human";
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-14
      • 2014-04-21
      • 2014-09-14
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      相关资源
      最近更新 更多