javascript - Uncaught Error : No module: MyApp

标签 javascript angularjs playframework requirejs

我在 nodeJs 框架中使用 RequireJs 加载 AngularJs 和 jQuery。

那就是main.js

    require.config({
    paths: {
        angular: 'vendor/angular.min',
        bootstrap: 'vendor/twitter/bootstrap',
        jquery: 'vendor/jquery-1.9.0.min',
        domReady: 'vendor/require/domReady',
        underscore: 'vendor/underscore.min'
    },
    shim: {
        angular: {
            deps: [ 'jquery' ],
            exports: 'angular'
        }
    }
});

require([
        'app',
        'angular-boot'
    ], function() {

});

在 app.js 中

 define(['angular'], function (angular) {
    return angular.module('MyApp', []);
})

在 angular-boot.js 中

    define([ 'angular', 'domReady' ], function (angular, domReady) {
    domReady(function() {
        angular.bootstrap(document, ['MyApp']);
    });
});

在我的 html 文件中,我只有这一行,以便声明和使用 requirejs。 不是 ng-ap 或其他任何东西。

<script data-main="js/main" src="js/require.js"></script>

问题是有时运行,有时不运行。 不运行时的错误是

Uncaught Error: No module: MyApp

如果有任何想法,我将不胜感激。 非常感谢。

最佳答案

在您的 shim 中,您需要将 app 设置为对 angular-boot 的依赖。你的angular-boot文件依赖于app(定义MyApp的地方),由于这两个文件的加载顺序没有指定,所以有时候angular-bootapp 之前加载,因此会产生该错误。

要补救,只需像这样更新您的 shim:

shim: {
  angular: {
    deps: [ 'jquery' ],
    exports: 'angular'
  },
  'angular-boot': {
    deps: ['app']
  }
}

而且,由于您不需要显式包含“app”,您的 require 调用可以简化为:

require(['angular-boot']);

关于javascript - Uncaught Error : No module: MyApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585085/

相关文章:

javascript - 如果字符数 =< 160,如何将初始 SMS 数显示为 1?

javascript - 在 javascript/HTML5 中建立直接的 udp 连接

javascript - jQuery .load() 函数不返回任何内容

javascript - Angular JS : importing JSON data with $http. get() - 在 Controller 中工作,不在服务中 - 为什么?

java - 当 'hibernate.dialect' 未设置时,DialectResolutionInfo 不能为 null - PlayFramework

scala - 如何更改 play/sbt 下自定义配置的设置值?

java - 如果 boolean 值为 false,Ebean 不会更新它们

javascript - 使用 jQuery 插入包含函数的脚本?

javascript - Angular 、下划线、拔除数组、排序

angularjs - 清除 ui-select Angular 中选定的选项