Webpack 生产构建失败:“无法解析 'aws-sdk'”
Posted
技术标签:
【中文标题】Webpack 生产构建失败:“无法解析 \'aws-sdk\'”【英文标题】:Webpack production build fails : "Can't resolve 'aws-sdk'"Webpack 生产构建失败:“无法解析 'aws-sdk'” 【发布时间】:2018-11-13 04:12:01 【问题描述】:我正在使用 TypeScript 编写一个 Express 应用程序,并尝试使用 webpack 将生产代码和供应商模块转换为单个 bundle.js 文件。但我不能这样做,因为一个奇怪的 node-pre-gyp 错误:
找不到模块:错误:无法解析“[...]/harema-api/node_modules/bcrypt/node_modules/node-pre-gyp/lib”中的“aws-sdk”我正在运行节点 8.11.2。这是我的webpack.config.js
:
有什么想法吗?提前谢谢你。
【问题讨论】:
在我的情况下,通过切换到bcryptjs
包而不是 bcrypt
解决了问题。有点慢,但它的工作原理。
【参考方案1】:
我添加了包并且错误消失了,但是它给我的包增加了 4.5MB (!)。
删除整个 'node_modules' 文件夹和 'npm install' 解决了问题。
【讨论】:
【参考方案2】:如果您仍然遇到此问题,我通过使用 webpack
命令明确指定 --config
来解决此问题,而不是仅使用配置作为第一个参数或省略它。
之前:webpack ./webpack.config.js --mode production
// 错误:无法解决 ...
之后:webpack --config ./webpack.config.js --mode production
我承认我不确定为什么这解决了这个问题,因为在我的情况下它正在读取配置文件。我正在使用 webpack v4.16.2 和 webpack-cli v3.1.0。
【讨论】:
我切换到它并且错误消失了。认为这是一个胜利,但查看了构建的文件,这是转译的 webpack.config.js。所以不是解决方案。以上是关于Webpack 生产构建失败:“无法解析 'aws-sdk'”的主要内容,如果未能解决你的问题,请参考以下文章