无法在... / node_modules / geoip-lite / lib中解析模块'fs'

时间:2017-03-09 05:43:59

标签: node.js react-redux fs geoip

我正在使用带有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-extra,但根本没有成功。可以做些什么?

1 个答案:

答案 0 :(得分:0)

尝试在webpack配置部分添加target:'node',如下所示:

var webpackConfig = Object.assign(
  {
    target: 'node',
    ....
};
相关问题