乐趣区

关于npm:如何正确使用淘宝npm镜像

当我在一个农村的小镇上,用的是挪动宽带,用 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 express
or
npm 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 是几个通用命令,阔以不必加 run

npm start === npm run start

举荐

npm 模块管理器

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

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

退出移动版