npm全称: node package manager。nodejs的包管理器,现代前端开发必备工具。
在:https://nodejs.org/zh-cn/download/ 下载node的二进制文件(.zip)。下载解压后配置环境变量,如下图。配置完成后,在CMD,输入npm version。出现版本信息,则表示安装成功。
使用你的um账号,先对账号进行Base64编码, 在命令行或者Terminal中输入
echo -n '<账号>:<密码>' | openssl base64
Windows用户可能会提示openssl 命令不存在, 可以先在idesk上安装Git 客户端,
之后再Git Bash中执行就可以了。
init.author.name = <用户名>
init.author.email = <邮箱>
init.author.url =
# an email is required to publish npm packages
email=<邮箱>
always-auth=true
_auth=<上一步的Base64编码输出>
{
...,
"publishConfig": {
"registry": "your npm repository url"
},
....,
}
// 编写好组件之后在项目目录下执行如下publish命令即可发布。
npm publish
package.json中的name和version属性的组合定义了一个Npm包的唯一标识。
name:格式 [@scopename/]packagename : 其中scopename是包的命名空间可选。packagename是包的名字必须有。
version:表示包的版本
包的简单描述
包的作者
如果被设置为: true 则拒绝发布到远程仓库。这是为了防止一个私有模块被无意间发布出去。
"scripts": {
"dev": "node build/dev-server.js",
}
格式:
"scripts": {
key : value
}
当运行npm run key时就相当于执行 value的命令。
包依赖其他包的版本。
dependencies:表示该模块下的依赖属于生产环境的依赖
devDependencies:表示该模块下的依赖属于开发环境的依赖
当执行 npm install 两个模块下的依赖都会安装。
npm install packagename 只会安装dependencies下的依赖。
npm install packagename -dev 只会安装devDependencies下的依赖。
```
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
}
#指定运行的node,npm的版本。
```
#配置发布模块时的一些配置,如果你不想模块默认被标记为最新的,或者默认发布到公共仓库,可以在这里配置仓库地址。
"publishConfig": {
"registry": "http://127.0.0.1:8080/repository/idc-npm"
}
在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
在项目目录下 npm init跟着提示进行输入。或者直接生成默认的package.json。npm init -y
npm install name
安装的第三方包和包依赖文件都会统一放在项目的node_moudule文件中。
npm install --save name
安装及保存依赖项(保存在package.json文件中的dependencies)
npm uninstall name
只删除node_moudule里的文件。
npm uninstall --save name
删除node_moudule同时把package.json中的相关依赖删除。