2016-08-16 10 views
2

ノードモジュール(モジュールB)にいくつかのシミュレーションデータを含め、呼び出し元モジュール(モジュールA)からそのデータを参照できるようにしようとしています。データはモジュールBの/dataディレクトリにあるテキストファイルです。私は__dirnameを使ってデータを呼び出すモジュールBの関数を持っていますが、もちろんこの関数がモジュールAから呼び出されると、__dirnameはモジュールAのディレクトリを参照します。 ..モジュールBではありません。 このような資産データを組み込み、消費モジュールで利用できるようにするにはどうすればよいですか?ノードモジュールを使用してアセットをパッケージ化する方法

答えて

3

モジュールをパッケージ化するときは、files property of package.jsonを使用して、モジュールとともにアセットをバンドルすることができます。

このモジュールでは、の相対パスを使用して、含まれているアセットを参照することができます。

このファイル構造を持つモジュールを想像:

files: [ 
    'index.js', 
    'assets/data.txt' 
] 

そしてindex.jsに:あなたのpackage.json

-assets 
    |-data.txt 
index.js 

はあなたがのように見えたfilesセクションを持っているかもしれませんが次のように資産データを公開することができます。

let fs = import 'fs'; 

function getAssetData() { 
    return fs.readFileSync('./assets/data.txt') 
} 

module.exports = { getAssetData }; 
+1

ありがとう、@duncanhall。私はそのショットを与えるでしょう。それを行う正しい方法のように聞こえる。 –

関連する問題