2017-02-07 49 views
0

我在我的angularjs 1.x应用程序中使用常见的js模块系统,并且正在努力导入/导出常量。这是我的。angularjs常量的导入/导出问题

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

在运行应用程序

错误我收到此错误:$注射器:unpr

未知提供者:KEYProvider < - SAMPLE1 < - 我的服务

+0

@ GProst- That worked !!::)谢谢!如果你可以发布这个答案,我会接受。 – user911

回答

2

它说你在服务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