import/export angularjs 个常量问题

import/export issue of angularjs constants

我在我的 angularjs 1.x 应用程序中使用通用的 js 模块系统,并且正在努力处理 importing/exporting 常量。这就是我的。

index.js

'use strict';
var angular = require('angular');    
module.exports = angular.module('constants', [])
    .constant('constant1', require('./constant1'))
     .constant('constant2', require('./constant2'))
    .constant('constant3', require('./constant3'))

constant1.js

'use strict';
 var SAMPLE1 =  { 'TEST1' : 100 , 'Test2': 200 }
 var SAMPLE2 =  300;
module.exports = SAMPLE1 ;
module.exports = SAMPLE2 ;

constant2.js

 'use strict';
      var SAMPLE3 =  { 'TEST3' : 400 , 'Test4': 500 }
      var SAMPLE4 =  600;
module.exports = SAMPLE3 ;
module.exports = SAMPLE4 ;

constant3.js

 'use strict';
      var SAMPLE5 =  { 'TEST5' : 700 , 'Test6': 800 }
      var SAMPLE6 =  900;
module.exports = SAMPLE5 ;
module.exports = SAMPLE6 ;

app.module.js

'use strict';
var angular = require('angular');
var myApp = angular.module('myApp', [
    require('./common/services').name,
    require('./components/constants').name
]);

我在 运行 应用程序

时收到此错误

错误:$injector:unpr

未知提供者:KEYProvider <- SAMPLE1 <- MyService

它说您的服务注入声明有误MyService。如果要导出多个变量,则必须编写 module.exports.var1 = var1; module.exports.var2 = var2(或 exports.var1 = var1; exports.var2 = var2)而不仅仅是 module.exports = var1; module.exports = var2,,因为第二个赋值只是覆盖了第一个。稍后您使用 var1 = require('./file').var1 导入 var1 并使用 var2 = require('./file').var2 导入 var2