写在前面
本文记录了在部署一个 Vue 项目过程中遇到的实际问题及解决思路,主要涉及从代码仓库拉取最新代码、解决 npm 安装时的证书错误,以及优化后端搜索接口的逻辑。
一、Vue代码部署相关
1. 部署Vue项目代码
任务描述:需要将一个已有的 Vue.js 项目部署到服务器。
操作步骤:
第一步:下载最新代码
首先,在项目目录下执行 git pull 命令,从远程仓库拉取最新的代码提交。

图:Git 拉取操作成功,显示了文件变更统计
拉取成功后,建议先在本地环境运行一遍,以检查代码是否存在明显问题。
第二步:本地安装依赖
检查更新日志发现,项目中新增了一些插件。为了确保依赖安装的准确性,通常的做法是删除现有的 package-lock.json 文件,然后重新安装。执行以下命令:
npm install
如果网络连接导致安装速度过慢,可以切换至国内的淘宝镜像源进行加速:
npm install --registry=https://registry.npm.taobao.org
然而,在执行上述命令时遇到了错误。
第三步:解决npm安装错误 (CERT_HAS_EXPIRED)
执行淘宝镜像源安装命令后,终端报错如下:

具体的错误信息是:
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/@antv%2fg6 failed, reason: certificate has expired
这个错误表明,淘宝镜像源 (registry.npm.taobao.org) 的 SSL 证书已过期,导致 npm 客户端无法安全地建立连接。一个直接的解决方案是暂时不使用该镜像,切回默认的 npm 官方源或其他可用的镜像源即可。
2. 从阿里云效拉取代码
任务描述:在本地开发机上可以通过 Git 正常从阿里云效(Codeup)拉取代码,但在通过 Xshell 连接的 Linux 服务器上执行 git pull 命令时失败,需要排查原因。
操作尝试:
- 直接运行
git pull 命令,遇到了权限或网络配置相关的错误(具体错误未详细记录)。
- 由于时间限制,没有深入排查服务器端的 Git 或网络配置问题,而是采取了手动上传代码包到服务器的方式进行部署。这虽然不是最佳实践,但在特定情况下可以作为临时解决方案。
3. 优化搜索接口
任务描述:需要优化一个后端查询接口。原始接口返回的数据中,某个字段的值是复合字符串,例如:
"id": "PHENYLBUTAZONE-TOXICITY(保泰松中毒)"
业务需求是希望在查询时就将该字段拆分开,只返回括号内的中文部分,即:
"id": "保泰松中毒"
优化思路:
这个逻辑应该在数据库查询语句或后端服务处理数据时完成,而不是交给前端来处理。这样能减少网络传输的数据量,并提升前端处理的效率。接下来需要查阅相关技术资料,确定是在 SQL 查询中使用字符串函数,还是在后端代码中进行数据清洗更为合适。
二、后台接口优化思考
对于上述搜索接口的优化,关键在于选择合适的数据处理时机。如果数据库支持强大的字符串处理函数(如 SUBSTRING_INDEX, REGEXP_SUBSTR 等),在查询时直接处理是最优解。否则,在后端服务层对查询结果进行遍历和格式化,也是一个清晰可控的方案。这涉及到对 Node.js 后端逻辑或 SQL 语句的修改。
|