执行sls deploy时出现webpack的fullySpecified配置错误,无webpack.config.js文件
报错原因
- 配置项
fullySpecified仅在Webpack 5.60.0及以上版本支持,你项目中显式安装的Webpack版本为5.58.0,版本过低无法识别该参数。 - 你执行
npm update后,serverless-bundle插件升级到了内置fullySpecified默认配置的版本,插件自动生成的Webpack规则和你本地安装的Webpack版本不兼容,触发校验错误。 - 项目同时安装了
serverless-bundle和serverless-webpack两个功能重复的打包插件,会进一步加剧配置加载优先级冲突。
修复方案
方案1:升级Webpack到兼容版本
执行以下命令升级Webpack到支持该配置的版本即可:
npm install webpack@^5.60.0 --save-dev
升级完成后重新执行sls deploy验证。
方案2:回退serverless-bundle版本
如果不想改动Webpack版本,可以将serverless-bundle回退到未添加fullySpecified配置的旧版本:
npm install serverless-bundle@5.0.0 --save-dev
方案3:清理重复依赖(推荐)
两个打包插件功能重叠,建议根据你的使用习惯移除其中一个:
- 如果你习惯用
serverless-bundle的零配置能力,删除serverless-webpack依赖和你新增的webpack.config.js文件,使用默认配置即可 - 如果你需要自定义Webpack配置,删除
serverless-bundle依赖,用自定义的webpack.config.js配合serverless-webpack使用
内容的提问来源于stack exchange,提问作者cameron cameron
相关产品推荐
相关产品推荐

