【发布时间】:2016-03-09 05:34:57
【问题描述】:
我正在使用 AngularAMD,我正在尝试“加载”angular.easypichart 模块。
这是我的架构:
--js
----app.js
----main.js
--lib
----angular.easypiechart.js
----ngload.js
在我的 main.js 我有那个代码:
require.config({
baseUrl: "js",
paths: {
'angular': 'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular',
'angular-route': 'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-route',
'angularAMD': 'https://cdn.jsdelivr.net/angular.amd/0.2/angularAMD.min',
'ngload': '../lib/ngload',
'easypiechart': '../lib/angular.easypiechart'
},
shim: {
'angularAMD': ['angular'],
'angular-route': ['angular'],
'ngload': ['angularAMD'],
'easypiechart': ['angular']
},
deps: ['app']
});
在我的 app.js 中:
define(['angularAMD', 'angular-route', 'easypiechart'], function (angularAMD) {
'use strict';
var app = angular.module('guess-bg', ['ngRoute']);
// config, etc.
return angularAMD.bootstrap(app);
});
但是'easypiechart' 失败,我收到错误Cannot read property 'module' of undefined
我不明白,因为我在 shim 中使用了 ['angular'] 来制作 easypiechart。
我尝试了很多东西,例如
define(['angularAMD', 'angular-route', 'ngload!easypiechart']
或者
var app = angular.module('guess-bg', ['ngRoute', 'easypiechart']);
但不断出错。这对我来说非常模糊,我什至不明白这个“ngload”是如何工作的。顺便说一句,我对angular-route 没有意见。
反正我不知道如何简单地加载这个模块,真的很烦人......
你能告诉我我错过了什么吗?
【问题讨论】:
-
你能告诉我这个
'Cannot read property 'module' of undefined'到底是从哪里来的吗?是来自您的app.js还是来自angular.easypiechart.js?
标签: javascript angularjs angular-amd