2017-02-07 48 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