1. npm装包时, -S和-D的区别
--save-dev
的简写是 -D
。 代表本地开发环境, 自动把模块和版本号添加到devdependencies
。
--save
简写是 -S
。代表生产环境中使用, 自动把模块和版本号添加到dependencies
。
举例:
构建工具:gulp和webpack是用来压缩代码,打包等需要的工具,程序实际运行的时候并不需要,就只需要要放在dev
中所以要用 -D
。
而像 axios, element-ui, scss
等在本地和线上都需要使用的插件。 就需要使用-S
。
2. npm 安装指定版本(按版本安装)
vue --version 或者 vue -V // 查看vue-cli的版本号
npm install jquery@3.0.0 --save // 安装jquery3.0.0版本
npm install xxx -g //模块将被下载安装到【全局目录】中
// 本地安装
npm install xxx //则是将模块下载到当前命令行所在目录
// 信息写入
npm install xxx --save
npm install xxx --save-dev // 安装的同时,将信息写入package.json中项目路径中
// --save 将依赖包名称添加到 package.json 文件 dependencies 键下
// --save-dev 则添加到 package.json 文件 devDependencies 键下
// --save 是你发布之后还依赖的东西 --save-dev 是你开发时候依赖的东西
3. 把项目迁移到另一个文件夹报错
报这个错: This is probably not a problem with npm. There is likely additional logging output above.
可能是版本问题,重新安装一次
重新 npm install
然后 npm i -D webpack-dev-server@3.0.0
再 npm run dev
如果还是不可以的话, 把之前安装的都清空再试一次
rm -rf node_modules && rm package-lock.json && npm cache clear --force && npm install
4. 淘宝镜像解决npm i 安装过慢的问题。
npm install --registry=https://registry.npm.taobao.org
5. node版本降级
// 1. 安装node版本管理模块n
sudo npm install n -g
// 2. 安装稳定版
sudo n stable
// 3. 安装最新版
sudo n latest
// 4. 版本升级/降级
sudo n 版本号 // 例如: sudo n 8.0.0
6. 一些常见的安装npm包的报错及安装方式
- Module not found:Error:Can`t resolve 'less-loader'
即需要安装less的依赖。
npm i less-loader less -S
同理, 如果缺少scss的依赖
npm i node-sass sass-loader style-loader -S
2.初始化vue项目,报错This is probably not a problem with npm,there is likely additional logging output above
// 先查看 webpack-dev-server版本号
npm view webpack-dev-server version
// 卸载当前webpack-dev-server
npm un webpack-dev-server
// 安装指定版本号webpack-dev-server@2.9.7
npm i -D webpack-dev-server@2.9.7
- 初始化vue项目,报错This is probably not a problem with npm,there is likely additional logging output above
// 修改host
sudo vim /etc/hosts
// 最后一行加入
127.0.0.1 localhost
// 保存退出
:wq!
- vue项目build报错的解决办法(ERROR in static/js/vendor.xxxxx.js from UglifyJs
在 UglifyJs 的 github issues #78 找到了这样一个解决方案:由于 UglifyJs 只支持 ES5 而 element-ui 可能引入了一部分 ES6 的写法,所以导致 webpack 打包失败。issue 里最后给出的解决方案是用 beta 版本的Uglify-es 来代替 UglifyJs(Beta 版本引入了对 ES2015+)的支持。需要在前端工作目录下用执行命令 npm i -D uglifyjs-webpack-plugin@beta
7. 查看版本信息
npm view <packageName> version // 查看某个模块的最新版本
npm view <packageName> versions // 查看某个模块的所有历史版本
// 比如我想查看antd的所有版本
npm view antd versions
8. 卸载node
sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
// 最后验证一下
node //command not found
npm //command not found