当我在一个农村的小镇上,用的是挪动宽带,用npm去拉载一些依赖时,常常抛出

info There appears to be trouble with your network connection. Retrying... //你的网络连接仿佛有问题,在重试…

哪怕我开了网络代理,也会呈现,

装置一个依赖十分麻烦,这时才想到用淘宝镜像代理

长期应用

npm --registry https://registry.npm.taobao.org install express

永恒应用

npm config set registry https://registry.npm.taobao.org

配置CNPM

这样的话,你用npm走的还是官网的,cnpm走的代理

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

复原应用

npm config set registry https://registry.npmjs.org

验证是否设置胜利

npm info expressornpm config get registry

NPM相干命令

整顿 npm 罕用的一些命令,不便查看

继续更新npm

你能够通过上面的命令显示npm以后的版本:

npm -v

如果有须要,能够通过上面的命令更新npm:

npm install -g npm

当 Node 的主版本 released 之后,你也可能须要从新构建 C++ 扩大:

npm rebuild

如果你须要治理多个版本的node.js和npm,能够思考应用 n 或者 nvm,https://www.sitepoint.com/quick-tip-multiple-versions-node-nvm/,我举荐大家应用nvm去治理node.js版本

卸载

如需删除 node_modules 目录上面的包(package),请执行:

npm uninstall <package>:

npm uninstall lodash

如需从 package.json 文件中删除依赖,须要在命令后增加参数 --save:

npm uninstall --save lodash

留神:如果你将装置的包作为 "devDependency"(也就是通过 --save-dev 参数保留的),那么 --save 无奈将其从 package.json 文件中删除。所以必须通过 --save-dev 参数能够将其卸载。

更新包

npm update package    #更新部分模块npm update -g package    #更新全局模块npm update -g package@version   #更新全局模块 package-name 到 x.x.x 版本

指定版本

npm view react versions    查看包在npm所有版本npm i vue@2.0.0 --save    装置指定版本

应用开发中的模块

当你正在开发一个模块时,会常常想在其它我的项目中尝试应用或者在任何一个目录运行它(如果你的利用反对),这时没必要将其公布到 npm,并全局装置---仅需在该模块所在目录应用上面的命令:

npn list

该命令会为模块在全局目录下创立一个符号链接。能够通过上面的命令查看模块援用:

npm list -g --depth=0

或者:

npm outdated -g

当初,就能够从命令行运行模块或者通过 require 在任何我的项目中引入该模块。

另一个抉择是,能够通过文件门路在 package.json 文件中申明对该模块的依赖:

"dependencies": {  "myproject": "file:../myproject/"}

常见通用命令

npm root    #查看本地装置的目录npm root -g    #查看全局装置的目录npm info package    #查看包信息npm ls    #查看本地安装包npm ls -g    #查看全局安装包,蕴含依赖npm ls -g --depth 0    #查看全局安装包,不蕴含依赖npm outdated    #列出所有不是最新版的包,能够带参数npm cache clean    #革除本地缓存npm config ls -l    #查看npm配置npm view package versions    #查看包的所有版本npm publish     #公布包npm access    #设置公布包的拜访级别npm search modulNmae   #搜寻包是否存在

package.json参数介绍

说完了npm,天然也得说下package.json文件的作用,以及阐明

key字段介绍

name - 包名version - 包的版本号description - 包的形容homepage - 包的官网 url author - 包的作者姓名contributors - 包的其余贡献者姓名dependencies - 依赖包列表。如果依赖包没有装置,npm 会主动将依赖包装置在 node_module 目录下repository - 包代码寄存的中央的类型,能够是 git 或 svn,git 可在 Github 上main - main 字段是一个模块ID,它是一个指向你程序的次要我的项目。就是说,如果你包的名字叫 express,而后用户装置它,而后require("express")keywords - 关键字

npm i 选项–global,–save,–save-dev

-global: 简写 -g    npm i express -g 为全局装置,这种就能够间接应用express命令, 否则会提醒express不是外部或外部命令-save: 简写 -S, 作用是在package.json的dependencies字段减少或批改安装包和版本号-save-dev: 简写 -D, 是批改devDependencies, 这样就不必装置了某个包之后手动批改package.json

~ 与 ^ 版本

版本分为: 主版本号、次版本号、补丁版本号"devDependencies": {    "vue": "~2.2.2",            // 匹配最近小版本,如,会匹配所有的2.2.x版本,但最高不会匹配2.3.0    "vue-router": "^2.2.0"        // 最近的一个大版本,所有 2.x.x但不不包含3.0.0,相当于 2.0.0 <= version < 3.0.0}

script属性

script属性定义的对应了一段shell脚本npm start 启动模块    该命令写在package.json文件scripts的start字段中,能够自定义命令来配置一个服务器环境和装置一系列的必要程序    "scripts": {        "start": "gulp -ws"    }npm stop 进行模块npm restart 重新启动模块你可能在开发中用到是用npm run xxx,之类的,start ,stop,restart 是几个通用命令,阔以不必加runnpm start === npm run start

举荐

npm模块管理器

具体介绍了npm的应用,以及参数相干配置

https://javascript.ruanyifeng.com/nodejs/npm.html