Javascript 将角度模块导出为commonjs模块
我正在写一个角度模块,我想让它与requirejs一起工作, 这是一个例子:Javascript 将角度模块导出为commonjs模块,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,我正在写一个角度模块,我想让它与requirejs一起工作, 这是一个例子: (function (){ 'use strict'; var myModule = angular.module('myModule', []) .directive('myDirective', [function () { return { restrict: 'AE', scope: {
(function (){
'use strict';
var myModule = angular.module('myModule', [])
.directive('myDirective', [function () {
return {
restrict: 'AE',
scope: {
item: '=',
},
template: '<span>Item: {{ item }}</span>'
};
}]);
if (typeof module !== 'undefined') {
module.exports = myModule;
}
})();
(函数(){
"严格使用",;
var myModule=angular.module('myModule',[])
.directive('myDirective',[函数(){
返回{
限制:“AE”,
范围:{
项目:'=',
},
模板:“项:{{Item}}”
};
}]);
if(模块类型!==“未定义”){
module.exports=myModule;
}
})();
这是一个好方法吗?如果不是,我应该如何导出它以使其正确工作?注册角度模块是一个副作用。您可以做的是导出名称:
var name = 'myModule';
angular.module(name, [])
.directive('myDirective', [function () {
return {
restrict: 'AE',
scope: {
item: '=',
},
template: '<span>Item: {{ item }}</span>'
};
}]);
module.exports = name;
带有requirejs或通用模块(即browserify)?commonjs@elclars很抱歉没有这么清楚。如果您在非commonjs环境中使用指令,您如何避免出现
未捕获引用错误:模块未定义
警告?@ChristianGill:Browserify有一个选项--standalone
,该选项将您的模块转换为UMD。
angular.module('app', [
require('./path/to/myModule') // runs side-effect (registers the module)
])