当前位置:Gxlcms > PHP教程 > 优化NPM安装Gulp和LaravelElixir的下载速度

优化NPM安装Gulp和LaravelElixir的下载速度

时间:2021-07-01 10:21:17 帮助过:17人阅读

本文经授权转自 PHPHub 社区

说明

Laravel Elixir 是官方推荐的静态资源管理工具,此工具合理的定义项目的开发流程,尤其针对前端开发,解决了很多通用问题,如;Sass 编译器,静态资源文件的版本与缓存清除等。

我们团队 甚至把 Laravel Elixir 作为每一个项目的必备基本开发流程。

国内因为网络原因,每一次 NPM 下载都挺慢,之前一直使用 VPN 来处理连接,也还能凑合使用,最近 VPN 不稳定,运行 npm install 就会异常痛苦。

解决方案

使用 淘宝 NPM 镜像 。

选项一、使用 cnpm 命令

这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

使用定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

上面命令安装好 cnpm 以后,以后就可以直接使用 cnpm 命令来安装依赖了,在某个使用 Laravel Elixir 的项目里直接执行:

$ cnpm install

会有类似以下的输出:

file

真的是如闪电一般的速度 :sparkles: :sparkles: 。

工作原理

从 registry.npm.taobao.org 安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM registry.npmjs.org 进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.

关于其他的 npm 命令,因为是 只读 镜像,所以支持 npm 除了 publish 之外的所有命令, 如:

$ cnpm info connect

选项二、使用 cnpm 命令行别名

如果你更加愿意使用 npm 命令,可以使用传参 registry 方式来加速,命令行执行:

# Or alias it in .bashrc or .zshrc$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \  --cache=$HOME/.npm/.cache/cnpm \  --disturl=https://npm.taobao.org/dist \  --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

同样的可以使用:

$ cnpm install

--

人气教程排行