我構建了一個節點庫,用於加載位於lib內部的JSON文件,並使用從JSON加載的內容執行某些操作。瀏覽器如何加載庫中的文件?
所以LIB結構
lib/mylib.js
data/data.json
index.js
在
mylib.js
它這樣做;
var PATH = path.join(
__dirname,
'../data/data.json'
);
function load() {
return JSON.parse(
fs.readFileSync(
PATH,
'utf8'
)
);
}
module.exports = { load: load};
它在服務器端完美工作。我可以調用load
函數並顯示json文件的內容。 我的問題是如何在瀏覽器中工作。我很快在我的測試服務器上進行了測試,並且工作得很好。它在瀏覽器上打印了json文件的內容(使用chrome和safari)。
我在client.js
import mymodule from 'mylib/lib/mylib';
function MyObject({myobj, styles}) {
return (
<Flex center>
<Spacing push={ {direction: 'ends', size: 'huge'} }>
<h1>{mymodule.load()}</h1>
</Spacing>
</Flex>
);
此代碼,這個打印在瀏覽器的JSON內容。我不是100%確定這是如何工作的。當瀏覽器調用mymodule.load()
時,它會在相對路徑../data/data.json
中查找JSON文件。瀏覽器如何處理文件路徑?服務器是否將整個庫發送給瀏覽器,瀏覽器是否將它們存儲在某種臨時存儲中?
你使用像的WebPack /巴別塔或像這樣的任何構建工具? – Nosyara