Javascript 为什么我能';找不到';角度';在有angularAMD的模块中?
我正在与AngularAMD合作,我正在尝试“加载”angular.easypichart模块 以下是我的架构:Javascript 为什么我能';找不到';角度';在有angularAMD的模块中?,javascript,angularjs,angular-amd,Javascript,Angularjs,Angular Amd,我正在与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.c
--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'
失败,我得到错误无法读取未定义的属性“module”
我不明白,因为我在easypiechart的垫片中使用了['angular']
我试过很多东西,比如
define(['angularAMD', 'angular-route', 'ngload!easypiechart']
或
但是不断地出现错误。这对我来说非常模糊,我甚至不明白这个“ngload”是如何工作的。顺便说一句,我对角度路线没有任何问题
无论如何,我不知道如何简单地加载这个模块,它真的很烦人
你能告诉我我错过了什么吗
我甚至不明白这个“ngload”是怎么工作的
如果要在第一个requireJS模块中直接加载模块,则不需要ngload
。它主要用于应用程序的延迟加载模块,例如在/some/random/route/
中,您希望使用角度模块,但只希望在此处加载ngload
就可以了
但是'easypiechart'失败,并且我得到了无法读取未定义的属性'module'的错误
在你的app.js中
尝试删除中的“严格使用”代码>:
define(['angularAMD'、'angularute'、'easypiechart'],函数(angularAMD){
var-app=angular.module('guess-bg',['ngRoute','easypiechart']);
//配置等。
返回angularAMD.bootstrap(应用程序);
});
这可能是因为您启用了严格
模式。因此,浏览器发现angular
对象在app.js
中的任何位置都没有定义,因此出现了错误,无法读取未定义的的属性“module”
换句话说,angular
对象是全局定义和可用的。但由于您处于严格模式,浏览器拒绝使用此类全局变量。如果仍要使用严格模式。改用窗口。角度:
define(['angularAMD'、'angularute'、'easypiechart'],函数(angularAMD){
"严格使用",;
var app=window.angular.module('guess-bg',[ngRoute','easypiechart']);
//配置等。
返回angularAMD.bootstrap(应用程序);
});
您能告诉我这个无法读取未定义的属性'module'的确切来源吗?它是来自你的app.js
还是来自angular.easypiechart.js
?
var app = angular.module('guess-bg', ['ngRoute', 'easypiechart']);