2017-02-07 3 views
0

Ich benutze gemeinsame js-Modul-System in meiner angularjs 1.x-Anwendung und kämpft mit Import/Export-Konstanten. Das habe ich.Import/Export Problem der angularjs Konstanten

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

ich diese Störung erhalte, während die Anwendung läuft

Fehler: $ Injektor: UNPR

Unbekannter Anbieter: KEYProvider < - SAMPLE1 < - MyService

+0

@ GProst- Das hat funktioniert !!: :) Danke! Wenn du das als Antwort posten kannst, werde ich akzeptieren. – user911

Antwort

2

Es heißt, Sie haben einen Fehler in der Erklärung der Injektionen Ihres Dienstes MyService. Wenn Sie mehrere Variablen exportieren möchten, müssen Sie module.exports.var1 = var1; module.exports.var2 = var2 (oder exports.var1 = var1; exports.var2 = var2) und nicht nur module.exports = var1; module.exports = var2, schreiben, da die zweite Zuweisung einfach die erste überschreibt. Später verwenden Sie var1 = require('./file').var1 zu importieren var1 und var2 = require('./file').var2 zu importieren var2