2017-02-07 8 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 < - MyService

+0

@ GProst-それが機能しました!:) :)ありがとうございました!これを回答として投稿することができれば、私は同意します。 – user911

答えて

2

あなたのサービスの注射の宣言に誤りがあると言いますMyService。複数の変数をエクスポートする場合は、module.exports.var1 = var1; module.exports.var2 = var2(またはexports.var1 = var1; exports.var2 = var2)と書かなければなりません。module.exports = var1; module.exports = var2,だけでなく、2番目の割り当てによって最初の変数がオーバーライドされるためです。後でvar1 = require('./file').var1を使用してvar1をインポートし、var2 = require('./file').var2をインポートします。var2