Deploy是一个Node依赖,用于前端自动化打包部署和上传服务器,支持动态发布到测试和生产环境。安装Deploy后,通过初始化配置生成deploy目录和配置文件,填写服务器SSH信息和打包路径信息。使用deploy dev和deploy prod命令进行打包发布。若遇到require(deployConfigPath)报错,可通过修改deploy目录下文件扩展名和fe-deploy-cli包中的index.js文件来解决。
此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结
deploy是一个node依赖,可以快速实现前端自动打包部署上传服务器的流程。并且支持根据配置动态发布到测试和生产环境。
常规打包:本地项目build——>压缩dist.zip——>FTP链接站点——>上传zip——>解压zip。
deploy打包:deploy dev和deploy prod
1.deploy安装
npm install -g fe-deploy-cli # 全局安装(推荐) deploy --version# 成功应显示版本号,如 1.2.0
2.初始化config配置
deploy init
执行该命令后会在项目中生成deploy目录及配置文件。
该配置文件就是填写链接你服务器的ssh信息及打包路径信息。其中dev对应deploy dev,可以作为打包发布到测试环境。prod对应生产。
3.一行命令打包发布
deploy dev
4.打包出现报错:require(deployConfigPath)
一般情况下可能打包没问题,但是凡是都有例外。所以,博主有幸遇到了。打包时报错,根据报错内容ai分析及提供的几种解决方案,经过多次论证测试后,最终选择了其中一种方式,并亲测有效。
解决方式如下:
1.修改deploy目录下的文件扩展名为:deploy.config.cjs
2.根据报错引用模块信息找打开fe-deploy-cli包所在路径,找到\node_modules\fe-deploy-cli\bin下有一个index.js文件
3.修改index.js文件中的如下:
// 修改前(硬编码 .js) deployConfigPath = `${deployPath}/deploy.config.js`; // 修改后(支持 .js 和 .cjs) deployConfigPath = [ `${deployPath}/deploy.config.js`, `${deployPath}/deploy.config.cjs` ].find(path => require('fs').existsSync(path));
然后就可以继续打包了。