关于npm和cnpm安装依赖的踩坑记录

背景:vue-cli脚手架构建的项目本地开发正常,打包放到nginx服务器上以后进入其中某一个页面出现报错,如下图:

image.png

问题分析及解决方案

1.出现这种报错首先会想到某个变量作为数组操作,经过排查并做了一些异常判断后问题仍存在
2.该项目部署在nginx/html/dist目录下,怀疑是因为项目没有部署在nginx根目录导致,改为部署到nginx/html目录下问题仍存在
3.将线上正常运行的B项目打包放到nginx服务器意外发现问题没有了(出错的页面为2个项目公有的系统设置模块),怀疑是某个打包的配置文件被修改了,通过文件对比发现关于打包部分的代码基本没有改变
4.将项目的依赖包删除直接拷贝B项目的依赖,重新打包部署发现正常

总结

至此,终于发现问题所在:本地的依赖是通过cnpm安装的,某些负责打包的依赖可能有问题导致打出来的包有问题。删掉依赖重新用npm install安装结果报错提示有些包没有安装成功,用 cnpm install重新安装没有成功安装的包即可。所以,不要嫌弃npm install安装的慢了,除非有些安装不了在用cnpm install,虽然慢一点至少不会出错。

顺便介绍npm和cnpm:

NPM介绍:

说明:NPM(节点包管理器)是的NodeJS的包管理器,用于节点插件管理(包括安装,卸载,管理依赖等)
使用NPM安装插件:npm install [-g] [--save-dev]
例:npm install gulp-less --save-dev
-g:全局安装。
将会安装在C:\ Users \ Administrator \ AppData \ Roaming \ npm,并且写入系统环境变量;
非全局安装:将会安装在当前定位目录;
全局安装可以通过命令行任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下
--save:将保存至package.json
-dev:保存至的package.jsondevDependencies节点,不指定-dev将保存至依赖节点

  1. 使用 npm 卸载插件:npm uninstall [ -g ] [ --save-dev ]

  2. 使用 npm 更新插件: npm update [ -g ] [ --save-dev ]

  3. 更新全部插件: npm update [ --save-dev ]

  4. 查看 NPM帮助: NPM帮助

10.查看当前目录已安装插件:npm list

CNPM介绍:

  1. 说明:因为谷歌安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果谷歌的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事来自官网:“这是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步“。
  2. 官方网址
  3. 安装:命令提示符执行npm install cnpm -g --registry=[https://registry.npm.taobao.org](https://registry.npm.taobao.org/)
  4. 注意:安装完后最好查看其版本cnpm -v

你可能感兴趣的:(关于npm和cnpm安装依赖的踩坑记录)