deploy前端自动化部署(报错问题:require(deployConfigPath)

技巧分享 · 昨天 · 324 人浏览

AI摘要

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 devdeploy prod

1.deploy安装

npm install -g fe-deploy-cli   # 全局安装(推荐)
deploy --version# 成功应显示版本号,如 1.2.0

2.初始化config配置

deploy init

执行该命令后会在项目中生成deploy目录及配置文件。

image.png

1747645688517547.png

该配置文件就是填写链接你服务器的ssh信息及打包路径信息。其中dev对应deploy dev,可以作为打包发布到测试环境。prod对应生产。

3.一行命令打包发布

deploy dev

image.png

4.打包出现报错:require(deployConfigPath)

    一般情况下可能打包没问题,但是凡是都有例外。所以,博主有幸遇到了。打包时报错,根据报错内容ai分析及提供的几种解决方案,经过多次论证测试后,最终选择了其中一种方式,并亲测有效。

image.png

image.png

解决方式如下:

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));


然后就可以继续打包了。

验证码:
Theme: Jasmine | RSS订阅 | 网站地图