公司网络里敲 npm i layui,进度条停在 idealTree 四分多钟,最后报 ETIMEDOUT。同事说换个镜像就行,可 layui 的镜像有好几种意思。

装不上,先换 npm 源

layui 从 2.8 起正常发布在 npm 上,拉不动多半是源的问题。临时换源不用改全局配置,加一个 --registry 参数指向国内源就行。要长期生效就写进项目根目录的 .npmrc,加一行 registry 指过去。装完记得让锁文件里的地址也同步,否则换台机器又要重新折腾。

页面引不到样式,是 CDN 挂了

不走构建工具、直接在页面里引 css 和 js 的,用的是 CDN。国内几家常被推荐的静态库加速服务这几年陆续停服,链接失效后页面样式全丢,控制台一片 404。稳妥的做法是把 layui 的 dist 目录整个放到自己服务器的静态目录下,路径写相对地址,升级时替换文件即可,不依赖第三方。

内网环境走私有仓库

公司禁止外网访问的,一般搭 verdaccio 之类的私有 registry,先在外网机器上把包打成 tgz,再传进内网发布。项目里把源指向内网地址,锁文件一起提交。这样新同事克隆下来直接 install,不用再配代理。

升级前先看大版本差异

3.x 的目录结构和模块写法跟 2.x 有变化,老项目直接升会出现 layui.use 找不到模块的报错。package.json 里把版本锁在小版本范围内,别写成星号。真要跨大版本,先拉一个分支升级,跑通了再合。

版本号怎么锁才不影响打包

package.json 里写 ^2.9.0 意味着允许升到 2.x 的最新小版本,写 2.9.0 则完全固定。团队里最好统一成固定版本,锁文件一起提交,避免两个人装出两份不同的代码。用 CDN 的项目没有锁文件,得在页面注释里写清版本号,半年后回来看还能知道当时引的是哪一版。

结论:装不上换源,样式丢了就自己托管静态文件,别指望第三方 CDN 长期可用。