找不到模块:错误:可以解决' t Resolve' crypto' webpack< 5用于默认情况下包括node.js核心模块的polyfills
我试图使用NPM运行构建来构建React项目,但由于以下消息而失败。
❯ npm run build
> [email protected] build
> react-scripts build
Creating an optimized production build...
Failed to compile.
Module not found: Error: Can't resolve 'crypto' in '/Users/...../node_modules/web3-eth-accounts/lib'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'
- install 'crypto-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "crypto": false }
I was trying to build the react project using npm run build but it failed with the following messages.
❯ npm run build
> [email protected] build
> react-scripts build
Creating an optimized production build...
Failed to compile.
Module not found: Error: Can't resolve 'crypto' in '/Users/...../node_modules/web3-eth-accounts/lib'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'
- install 'crypto-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "crypto": false }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我尝试使用这些命令来配置
config-overrides.js
webpack.config.js(感谢答案)
webpack.config.js:
但是,我'M仍然收到相同的错误。
稍后,我发现默认
react-scripts
捆绑在node_module中包含其自己的webpack.config.js,并且可能会干扰我的。不确定这个TBH。如果有人可以解释会很好。最终,我更改了package.json中的“脚本”,错误最终消失了
I tried to configure
config-overrides.js
andwebpack.config.js
with these commands(thanks to answer)
webpack.config.js:
However, I'm still receiving the same error.
Later on, I found that the default
react-scripts
bundled in node_module contains it's own webpack.config.js and it may interfere with mine. Not sure about this tbh. Would be nice if someone can explain.And eventually, I changed the "scripts" in package.json to this and the error finally disappeared