在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ react中如何使用fs模塊?

react中如何使用fs模塊?

react項(xiàng)目使用webpack打包,可以直接require node中的path模塊。
但是require('fs')的時(shí)候會(huì)報(bào)錯(cuò):
圖片描述

網(wǎng)上查了下,在webpack.config里加了這段配置:

node:{
        fs:'empty'
    },

這時(shí)編譯可以通過(guò),但是使用時(shí)fs={},使用會(huì)報(bào)錯(cuò)。

有看到說(shuō)可以使用browserify的,只使用webpack不能在前端使用fs模塊嗎?

回答
編輯回答
尐飯團(tuán)

對(duì)node不是很熟,簡(jiǎn)單實(shí)用而已。但是fsnode提供的模塊,只能在node環(huán)境中才能執(zhí)行相關(guān)方法,如果你的react是要運(yùn)行在瀏覽器的,那這里是不可能調(diào)用fs模塊的,因?yàn)闉g覽器并沒有提供fs相關(guān)api。在 webpack 執(zhí)行時(shí)候可以使用fs是因?yàn)?code>webpack本身是運(yùn)行在node環(huán)境中的,不要把node環(huán)境和瀏覽器環(huán)境弄混了。

2017年8月30日 14:47
編輯回答
糖果果

由于js可以運(yùn)行在瀏覽器也可能是node。本質(zhì)上node和瀏覽器都是javascript運(yùn)行時(shí)。

因此首先你要明白一點(diǎn)就是你的代碼最終是運(yùn)行在哪的, 是瀏覽器還是node。

這也就是為什么webpack有target這個(gè)配置的原因。 詳情: https://webpack.js.org/concep...

明白了你的代碼最終運(yùn)行在哪就好辦了,如果是node,直接修改webpack target配置即可。 webpack便不會(huì)對(duì)fs等node內(nèi)置模塊進(jìn)行打包。如果是瀏覽器, 那你就要好好思考一下了,為什么需要在瀏覽器中使用fs這個(gè)模塊。

當(dāng)然還有一種情況就是你需要在本地中使用fs讀取文件,然后真正打包的時(shí)候不打包進(jìn)去,那么你可以通過(guò)webpack的 definePlugin來(lái)完成。

希望我的回答可以幫助到你,謝謝~

2017年10月16日 13:59