我正在使用带有 react-redux-starter-kit
模块的项目,我安装了 geoip-lite
模块,当我导入它时,出现错误标题出现了。
ERROR in ./~/geoip-lite/lib/geoip.js
Module not found: Error: Cannot resolve module 'fs' in <path>/node_modules/geoip-lite/lib
@ ./~/geoip-lite/lib/geoip.js 1:9-22
ERROR in ./~/geoip-lite/lib/fsWatcher.js
Module not found: Error: Cannot resolve module 'fs' in <path>/node_modules/geoip-lite/lib
@ ./~/geoip-lite/lib/fsWatcher.js 1:9-22
在 webpack.config.js
文件中,我已经尝试将 target
修改为 node
而不是 web
,这是默认的,但随后出现了下面的警告,并且本地运行的网站一片空白。
WARNING in ./~/encoding/lib/iconv-loader.js
Critical dependencies:
9:12-34 the request of a dependency is an expression
@ ./~/encoding/lib/iconv-loader.js 9:12-34
我还在文件中添加了 node: { fs: 'empty' }
,但是屏幕上出现了此错误:
TypeError: fs.openSync is not a function
我尝试在模块内安装 fs
并下载 fs-extra
并将所有出现的 fs
更改为 fs-额外
,但根本没有成功。可以做什么?
最佳答案
尝试在 webpack 配置部分添加 target: 'node',如下所示:
var webpackConfig = Object.assign(
{
target: 'node',
....
};
关于node.js - 无法解析 .../node_modules/geoip-lite/lib 中的模块 'fs',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42687641/