我有一个项目,我使用 Traceur 以 ES6 格式开发我的代码,并将模块加载设置为转换为 AMD 样式以使用 RequireJS。我有以下代码(从 ocLayLoad 示例项目中获得)
angular.module("testApp",[]).directive("sayHello", function() {
return {
scope: {
to: '@to'
},
restrict: "E",
template: '<p>Hello {{to}}</p>'
};
});
如果我使用带有 ocLazyLoad + RequireJS 的纯 ES5 样式,一切正常。但是,当 Traceur 处理该类时,它被包装在一个 define() 函数中,如下所示:
define([], function() {
"use strict";
angular.module("testApp", []).directive("sayHello", function() {
return {
scope: {to: '@to'},
restrict: "E",
template: '<p>Hello {{to}}</p>'
};
});
return {};
});
但是,在这种情况下,由于某种原因,延迟加载不起作用。它会抛出一个错误,即模块“testApp”未在 Angular 中注册。想法是什么阻止了 ocLazyLoad 加载模块?