****************************npm下载镜像**********************
淘宝 NPM 镜像
参考引用:http://npm.taobao.org/
- 当前 registry.npm.taobao.org 是从 r.cnpmjs.org 进行全量同步的.
- 当前 npm.taobao.org 运行版本是: cnpmjs.org@
- 本系统运行在 Node.js@ 上.
- 开源镜像: http://npm.taobao.org/mirrors
- Node.js 镜像: http://npm.taobao.org/mirrors/node
- alinode 镜像: http://npm.taobao.org/mirrors/alinode
- phantomjs 镜像: http://npm.taobao.org/mirrors/phantomjs
- ChromeDriver 镜像: http://npm.taobao.org/mirrors/chromedriver
- OperaDriver 镜像: http://npm.taobao.org/mirrors/operadriver
- Selenium 镜像: http://npm.taobao.org/mirrors/selenium
- Node.js 文档镜像: http://npm.taobao.org/mirrors/node/latest/docs/api/index.html
- NPM 镜像: https://npm.taobao.org/mirrors/npm/
- electron 镜像: https://npm.taobao.org/mirrors/electron/
- node-inspector 镜像: https://npm.taobao.org/mirrors/node-inspector/
********************************npm下载镜像**********************
*************************npm基础知识*****************************************
学习网址:npm 中文文档
一、npm是什么?
npm 可以让 JavaScript 开发者在共享代码、复用代码以及更新共享的代码上更加方便。
npm 是一种重用其他开发者所开发的代码的一种方式,并且也是一种与他人共享代码的方式,还能够让你很容易地管理代码的版本。
复用:package (包) or module(模块)
package.json : 描述被复用的代码的信息的。
组成:网站、注册表(registry)和命令行工具(CLI)
网站:让用户查找 package
注册表(registry):巨大的数据库,保存了每个 package 信息
命令行工具(CLI):开发者用来发布自己的 package 到注册表或者下载所需 package 的工具
二、安装
1)安装 Node.js
2)更新npm:npm install npm@latest -g
三、安装npm包
本地安装:
如果你自己的模块依赖于某个包(比如通过 Node.js 的 require
加载),那么你应该选择本地安装,这种方式也是 npm install
命令的默认行为。
命令:> npm install <package_name>
上述命令执行之后将会在当前的目录下创建一个 node_modules
的目录(如果不存在的话),然后将下载的包保存到这个目录下。
??安装的包版本??
在本地目录中如果没有 package.json
这个文件的话,那么最新版本的包会被安装。
如果存在 package.json
文件,则会在 package.json
文件中查找针对这个包所约定的语义化版本规则,然后安装符合此规则的最新版本。
--更新本地的包
npm update [-g] [<pkg>...] //参考:update | npm Documentation
npm outdated 不输出任何结果表示成功
--卸载本地的包
npm uninstall <package_name>
npm uninstall --save <package_name> //从 package.json
文件中删除依赖
全局安装:
如果你想将包作为一个命令行工具,比如 grunt CLI,那么你应该选择全局安装。
npm install -g <package>
--更新全局安装的包
npm update -g <package>
--卸载全局安装的包
npm uninstall -g <package>
四、创建 Node.js 模块
node.js模块:一种可以发布到 npm 的包
1、创建 package.json 文件
>npm init
五、发布npm packages
【You can publish any directory that has a package.json
file, e.g. a node module.】
参考:Publishing npm packages
1)创建用户
npm adduser
2)登录
npm login
3)npm config ls --确认证书存在客户端
https://npmjs.com/~ 到官网检查是否注册
4)发布
>npm publish
发布时,若遇到如下错误
原因:为方便下载,更换了镜像,需要换回原来的镜像
npm config set registry=http://registry.npmjs.org
但是我的需要修改:@bonnielbn:registry=http://registry.npmjs.org
六、语义化版本
规则:
- 修复 bug 或者其他较小的改变:补丁版本发布,应当增加最后一个数字,例如 1.0.1。
- 新增的特性不会改变当前已存在的特性:小版本发布,应当增加中间的数字,例如 1.1.0。
- 影响到向后兼容的改变:大版本发布,应当增加第一个数字,例如 2.0.0
七、scoped packages
The scope is everything in between the @
and the slash.
scope是 @与/之间的字符 : @scope/project-name
每一个npm用户有它自己的scope:@username/project-name
1)更新npm并登录
sudo npm install -g npm
npm login
2)初始化一个scoped package
use a package name that starts with your scope.
npm init --scope=username
----------------------------------------------
In package.json:
{
"dependencies": {
"@username/project-name": "^1.0.0"
}
}
On the command line:
npm install @username/project-name --save
In a require statement:
var projectName = require("@username/project-name")
----------------------------------------------
八、tags
管理和标签化包的不同版本,增加可读性;
tag最好以数字或者字母"v"开头
1、add a tag
npm dist-tag add <pkg>@<version> [<tag>]
2、publish with tags
npm publish --tag beta
3、install with tags
npm install somepkg@beta
九、two-factor authentication (2FA) 双重认证
***************************************************************************
*************************npm工作原理***************************************
package:
由package.json文件描述,
module:
是被Node.js' require()加载的文件和目录