我正在尝试构建我的角度项目,结果出现以下错误:
Build Command: node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng build --prod
我的Angular版本是:@Angular/cli:"^8.2.2".
我尝试重新安装nodejs 12.13并删除npm缓存,但它仍然不能正常工作
错误:-
ERROR in ./node_modules/string_decoder/node_modules/safe-buffer/index.js
Module not found: Error: Can't resolve 'buffer' in
我通过安装缺失的模块使其正常工作。
npm install assert --save
npm install buffer --save
答复来自https://github.com/sindresorhus/file-type/issues/417.
"browser": {
"buffer": false
}
在你的包中.json应该做到这一点。
这是React中对我有效的解决方案。您需要找到您的webpack.config.js
文件。对我来说,它位于:./node_modules/react-scripts/config
在遇到这个错误以及许多其他相关错误时,我在文件的resolve
对象中执行了以下操作:
- 删除
modules
- 添加
fallback: {},
由于与此问题有关,您需要使用npm install buffer
安装buffer
包,并调整回退对象属性,使其显示为:
fallback: {
"buffer": require.resolve('buffer'),
},
您可能需要使用npm install webpack@latest
升级到webpack 5
另一个解决方案似乎是使用react-app-rewired
来实现对webpack的这些更改。据我所知,它做了同样的事情,但通过上述方法,我能够熟悉这个问题,而不会完全绕过它,也不会增加额外的复杂性。