npm

package.json,不仅是解决依赖的文件。更是一个发 npm 包的配置文件:里面的 name、version、description、author 这些,其实都是对应的 npm 包的各种信息,最常用的 dependencies 项,展示的就是该包 依赖于其他 npm 包的条目。

命令

npm 安装模块

  • npm init 初始化 package.json
  • 【npm install xxx】利用 npm 安装 xxx 模块到当前命令行所在目录;
  • 【npm install xxx@4.21】@指定安装包版本;
  • 【npm install -g xxx】利用 npm 安装全局模块 xxx;
  • 【npm install xxx】默认安装并写入 package.json 的”dependencies”中;
  • 【npm install xxx –save】 安装并写入 package.json 的”dependencies”中;
  • 【npm install xxx –save-dev】安装并写入 package.json 的”devDependencies”中。

npm 删除模块

  • 【npm uninstall xxx】删除 xxx 模块;
  • 【npm uninstall -g xxx】删除全局模块 xxx;

常用参数

-g:将模块安装到全局环境。

--save(别名:**-S**) 将模块安装到项目 node_modules 目录下,并在 package.json 的 dependencies 节点写入依赖。

--save-dev (别名:**–dev**, -D) 将模块安装到项目 node_modules 目录下,并在 package.json 的 devDependencies 节点写入依赖。

--production只下载 dependencies 节点下的依赖。

-save-dev 和–save 的区别

–save 安装的都是底层必须的依赖,没有这些依赖项目就无法运行。 而–save-dev 安装的只是开发依赖,正式环境中没了并无影响功能。

区别

dependencies节点的依赖为运行时依赖,是项目运行必不可少的部分,例如:引入的 juqery,express。

devDependencies节点的依赖为开发时依赖,在项目正式上线后,可以不需要。例如:webpack,只有在开发编译时用到,正式环境使用的都是打包后的代码了。less 加载器,因为正式环境使用的是编译后的 css。

-常用

–prefix

npm install --prefix path [packages]

可以指定 npm install 构建 node_modules 到指定的目录。以解决,多层项目 install 时 默认将 node_modules 安装到最外层的情况。

注册与发布

注册npm adduser

然后依次输入用户名,密码,邮件,用户名重复,会报错说你你密码错误,所有修改不重复的用户名即可。

登录 npm login

同上

配置 package.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"name": "bzj-cli",
"version": "1.0.1",
"description": "次时代前端构造器",
"bin": {
"bzj": "./bin/cli.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"files": [
"bin",
"lib"
],
"author": {
"name": "bazijun",
"email": "1324022569@qq.com"
},
"keywords": [
"bzj-cli",
"bzj",
"脚手架"
],
"license": "ISC",
"dependencies": {
...
}
}

发布**npm publish**

修改 package.json version 后 直接发布

如果之前发过私包 现要发公共,需要这样 npm publish --access public

其他发布命令

需要 commit git 仓库后发包,但由于不清楚原因,发不了,推荐_**npm publish**_

npm version patch 1.0.0–> 1.0.1 patch (补丁)

npm version minor 1.0.0–> 1.1.0 minor (次要版本)

npm version major 1.0.0–> 2.0.0 major (主要版本)

.npmignore 文件

类似于.gitignore 文件, 该文件中的目录会被 npm 忽略, 不被上传

README 文件

当前项目的说明文档

CHANGELOGO 文件

当前项目的升级改版说明文档, 每次升级版本时, 都要附加升级说明

[

](https://blog.csdn.net/small_white_123/article/details/120734128)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!