2
我試圖在節點模塊(模塊B)中包含一些模擬數據,然後能夠從調用模塊(模塊A)引用該數據。該數據是模塊B的/data
目錄中的文本文件。我在模塊B上有一個使用__dirname調用數據的功能,但當然,當從模塊A調用此函數時,__dirname引用模塊A的目錄。 ..不是模塊B. 將這樣的資產數據包含在消費模塊中的最佳方式是什麼?如何使用節點模塊打包資源
我試圖在節點模塊(模塊B)中包含一些模擬數據,然後能夠從調用模塊(模塊A)引用該數據。該數據是模塊B的/data
目錄中的文本文件。我在模塊B上有一個使用__dirname調用數據的功能,但當然,當從模塊A調用此函數時,__dirname引用模塊A的目錄。 ..不是模塊B. 將這樣的資產數據包含在消費模塊中的最佳方式是什麼?如何使用節點模塊打包資源
打包模塊時,可以使用files
property of package.json將任何資產與模塊捆綁在一起。
然後,在該模塊中,您可以使用相對路徑來引用您包含的資產。
想象一下,這個文件結構的模塊:
-assets
|-data.txt
index.js
在你的package.json你可能有一個files
部分看起來像:
files: [
'index.js',
'assets/data.txt'
]
而且在index.js你可以像這樣暴露你的資產數據:
let fs = import 'fs';
function getAssetData() {
return fs.readFileSync('./assets/data.txt')
}
module.exports = { getAssetData };
謝謝@duncanhall。我會給你一個鏡頭。聽起來是正確的做法。 –