【问题标题】: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

常量路径 = 要求('路径'); 模块.exports = { 条目:'./src/index.ts', 目标:'节点', 模式:'生产', devtool: '内联源地图', 模块: { 规则:[ { 测试:/\.tsx?$/, 使用:'ts-loader' } ] }, 解决: { 扩展名:['.tsx','.ts','.js'] }, 输出: { 文件名:'bundle.js', 路径:path.resolve(__dirname, 'dist') } };

有什么想法吗?提前谢谢你。

【问题讨论】:

  • 在我的情况下,通过切换到 bcryptjs 包而不是 bcrypt 解决了问题。有点慢,但它的工作原理。

标签: node.js typescript webpack


【解决方案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。所以不是解决方案。
    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2020-10-20
    • 2020-02-02
    • 2022-01-14
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多