自定义Strapi插件部署至Strapi Cloud遇问题求助
解决Strapi Cloud部署自定义插件时dist缺失的问题
核心思路
Strapi Cloud默认仅执行strapi build,不会自动构建自定义插件。要在不提交dist文件夹的前提下解决问题,只需在主项目的构建流程中加入插件构建步骤,让部署时自动先构建插件再构建主项目。
具体步骤
修改主项目的构建脚本
打开根目录的package.json,调整scripts中的build命令,先执行插件构建再执行主项目构建:"scripts": { "build": "npm run build:plugins && strapi build", "build:plugins": "cd ./src/plugins/[你的插件名称] && npm run build && cd ../../.." }如果有多个自定义插件,可扩展
build:plugins脚本批量处理,比如用shell命令遍历所有插件目录:"build:plugins": "for dir in ./src/plugins/*/; do (cd \"$dir\" && npm run build); done"确认插件的构建脚本正确
检查每个自定义插件目录下的package.json,确保build脚本是Strapi默认的插件构建命令:"scripts": { "build": "strapi-plugin build" }这个命令会自动生成插件的dist文件夹,无需手动提交。
验证部署流程
提交修改后的package.json到代码仓库,触发Strapi Cloud部署。此时部署流程会先执行build:plugins构建所有自定义插件,再执行strapi build构建主项目,不会再出现dist文件夹缺失的报错。
额外注意事项
- 确保插件目录的
package.json已提交到代码仓库,Strapi Cloud需要读取它来执行插件构建命令。 - 不要在
.gitignore中排除插件目录本身,只排除插件的node_modules和dist文件夹即可(默认生成的.gitignore已经包含这些规则)。
内容的提问来源于stack exchange,提问作者Thomas Renger
相关产品推荐
相关产品推荐

