整理日常开发中遇到的 npm 相关常见问题及解决方案,涵盖安装、镜像源设置、依赖管理、常见第三方包 (如 Node Sass)、以及打包工具 Rollup,附带参考链接,便于查阅。
背景
npm
命令运行时,往往通过命令行指定相关配置,最常用的便是使用 --registry
来指定依赖的安装源。
npm install --registry=https://registry.npmmirror.com
同样的效果也可以使用 .npmrc
来实现:
registry=https://registry.npmmirror.com
"Node.js 项目通过 .npmrc 文件指定依赖安装源"继续阅读
使用 npm 和 cnpm 查看及修改镜像源。npm 的默认镜像源为 https://registry.npmjs.org/,可通过 npm config set registry 命令进行修改。安装 cnpm 后,查看和修改镜像源的命令与 npm 类似。确保转载时包含版权声明,并附上作者和原始地址的超链接。
工具类接口服务提供天气查询、IP与位置查询、短链接生成及代理转发功能。通过 GET 请求获取指定城市的天气以及请求者的 IP、位置和天气信息。POST 请求支持长链接转换为短链接和代理转发请求,解决跨域限制问题。所有接口均返回执行结果、信息和数据。
对比了 npm i 和 npm ci 的差异。npm i 安装或更新依赖,适用于开发环境;npm ci 删除 node_modules 后按 package-lock.json 精准安装,适合 CI/CD 场景。npm ci 确保版本一致,安装速度更快,但强依赖 package-lock.json 文件。
Postman 是一款 API 开发协作平台,支持变量管理、请求生命周期脚本、抓包代理和集合运行器 (Collection Runner),并提供命令行工具 Newman 集成 CI / CD。其功能包括调试接口、数据验证和动态变量,付费版本还支持文档与监控等协作功能。
介绍了短链接的生成与访问流程。通过将长链接转换为 MD5 HASH 值,检查数据库是否存在对应记录,若无则存入数据库并返回自增 ID。ID 转换为 26 进制字符串作为短链接的 Key。访问短链接时,服务器解析 Key,重定向至长链接。提供了 Node.js 代码示例,展示了 SQL 结构及 10 进制到 26 进制的转换方法。
描述了使用 Node 和 PM2 部署服务时因旧配置未清理导致 CPU 占用率高的问题。通过停止服务、删除错误的 PM2 配置、重新启动正确路径的应用并保存配置,成功解决了问题,同时清空了日志文件以减少存储占用。
介绍了 CI/CD 的概念及其在 GitLab 中的实现,通过 .gitlab-ci.yml 配置文件定义镜像、阶段和执行条件,实现自动化构建、打包和部署。详细说明了 CLI 的用途及 aliyunoss-cli 的使用方法,包括配置阿里云 OSS 参数和执行发布命令,支持多环境发布并与 CI/CD 流程集成,提升开发和部署效率。
介绍了 X-Real-IP 和 X-Forwarded-For 的用途及区别,X-Forwarded-For 更标准化,用于记录客户端及代理 IP 地址链。通过 Nginx 配置或 Koa 获取客户端真实 IP 的方法示例也被详细说明,推荐优先使用 X-Forwarded-For。