npm简单介绍
1.什么是npm
npm全称: node package manager。nodejs的包管理器,现代前端开发必备工具。
2.windwos下zip安装npm
在:https://nodejs.org/zh-cn/download/ 下载node的二进制文件(.zip)。下载解压后配置环境变量,如下图。配置完成后,在CMD,输入npm version。出现版本信息,则表示安装成功。
3.上传包到仓库
3.1 .npmrc的_auth生成
使用你的um账号,先对账号进行Base64编码, 在命令行或者Terminal中输入echo -n '<账号>:<密码>' | openssl base64Windows用户可能会提示openssl 命令不存在, 可以先在idesk上安装Git 客户端, 之后再Git Bash中执行就可以了。
3.2 在项目目录下创建 .npmrc 文件
init.author.name = <用户名>init.author.email = <邮箱>init.author.url = <url># an email is required to publish npm packagesemail=<邮箱>always-auth=true_auth=<上一步的Base64编码输出>
3.3 package.json配置仓库地址
{...,"publishConfig": { "registry": "your npm repository url"},....,}
3.4 执行上传
// 编写好组件之后在项目目录下执行如下publish命令即可发布。npm publish
4.package.json解释
4.1 name和version
package.json中的name和version属性的组合定义了一个Npm包的唯一标识。name:格式 [@scopename/]packagename : 其中scopename是包的命名空间可选。packagename是包的名字必须有。version:表示包的版本
4.2 description
包的简单描述
4.3 author
包的作者
4.4 private
如果被设置为: true 则拒绝发布到远程仓库。这是为了防止一个私有模块被无意间发布出去。
4.5 scripts
"scripts": { "dev": "node build/dev-server.js", }格式:"scripts": { key : value} 当运行npm run key时就相当于执行 value的命令。
4.6 dependencies, devDependencies
包依赖其他包的版本。dependencies:表示该模块下的依赖属于生产环境的依赖devDependencies:表示该模块下的依赖属于开发环境的依赖当执行 npm install 两个模块下的依赖都会安装。npm install packagename 只会安装dependencies下的依赖。npm install packagename -dev 只会安装devDependencies下的依赖。
4.7 engines
```"engines": { "node": ">= 4.0.0", "npm": ">= 3.0.0"}#指定运行的node,npm的版本。```
4.8 publishConfig
#配置发布模块时的一些配置,如果你不想模块默认被标记为最新的,或者默认发布到公共仓库,可以在这里配置仓库地址。
"publishConfig": { "registry": "http://127.0.0.1:8080/repository/idc-npm"}
5. versio表达式
在dependencies、devDependencies、engines中都有用到版本表达式。
"0.18.0" : 精确版本 <version : 小于某个版本 <=version: 小于等于某个版本 >version : 大于某个版本 >=version: 大于等于某个版本 >1.2.3-alpha.3 1.2.3 - 2.3.4 : >=1.2.3 <=2.3.4 * : 任何版本 1 :表示 1.x.x :表示 >=1.0.0 <2.0.0 1.2 :表示 1.2.x :表示 >1.2.0 <1.3.0 ^1.2.3 :表示 >=1.2.3 <2.0.0 ^0.2.3 :表示 >0.2.3 <0.3.0 ~1.2.3 :表示 >=1.2.3 <1.3.0 ~1.2 :表示 >=1.2.0 <1.3.0
6. 初始化package.json
在项目目录下 npm init跟着提示进行输入。或者直接生成默认的package.json。npm init -y
7.下载依赖包
npm install name安装的第三方包和包依赖文件都会统一放在项目的node_moudule文件中。npm install --save name 安装及保存依赖项(保存在package.json文件中的dependencies)
8. 删除依赖包
npm uninstall name只删除node_moudule里的文件。npm uninstall --save name删除node_moudule同时把package.json中的相关依赖删除。