Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将角度模块导出为commonjs模块_Javascript_Angularjs_Requirejs - Fatal编程技术网

Javascript 将角度模块导出为commonjs模块

Javascript 将角度模块导出为commonjs模块,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,我正在写一个角度模块,我想让它与requirejs一起工作, 这是一个例子: (function (){ 'use strict'; var myModule = angular.module('myModule', []) .directive('myDirective', [function () { return { restrict: 'AE', scope: {

我正在写一个角度模块,我想让它与requirejs一起工作, 这是一个例子:

(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)
])