npm 使用背书 知其一知其二

3,088 阅读2分钟

npm 是 Node 的模块管理器,功能极其强大。它是 Node 获得成功的重要原因之一。正因为有了npm,我们只要npm install一行命令,就能安装别人写好的模块 。

npm命令配置

npm的用户配置存储在.npmrc文件中,可用npm config get userconfig查看路径。

.npmrc 配置文件位置(读取顺序)

  • 项目配置文件: /path/to/my/project/.npmrc
  • 用户配置文件:$HOME/.npmrc
  • 全局配置文件:$PREFIX/etc/npmrc 配置目录, 使用 npm config get prefix 获取$PREFIX
  • npm内嵌配置文件:/path/to/npm/npmrc 与npm同级别, 使用which npm获取 npm的路径

具体的配置命令如下

npm config set <key> <value> [-g|--global]  //给配置参数key设置值为value;
npm config get <key>          //获取配置参数key的值;
npm config delete <key>       //删除置参数key及其值;
npm config list [-l]      //显示npm的所有配置参数的信息;
npm config edit     //编辑配置文件
npm get <key>     //获取配置参数key的值;
npm set <key> <value> [-g|--global]    //给配置参数key设置值为value;

npm 注册源配置

关于 registry 阮一峰老师的这篇文章讲的足够明白:npm 模块安装机制简介

查看npm源地址npm config get registry

使用官方镜像npm config set registry https://registry.npmjs.org/

配置方式

1、通过给npm 命令添加注册源选项

临时使用淘宝镜像:

npm --registry=https://registry.npm.taobao.org [npm命令]

// 通过 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org

通过这种方式指定的注册源只在本条命令内有效;

2、通过 npm 的 config 命令配置指向国内镜像源

持久使用淘宝镜像:

npm config set registry https://registry.npm.taobao.org  //配置源为淘宝的源

3、在配置文件.npmrc 文件写入源地址

.npmrc文件内容

registry=https://registry.npm.taobao.org   //写入配置文件

备注:第1种配置方法是命令内有效,第2和第3种配置方法是用户内有效,如果想恢复默认配置,只需要将用户配置文件~/.npmrc删除即可;

npm init

npm init用来初始化生成一个新的 package.json 文件。

npm init -f 已存在 package.json, 强制初始化

npm init -y 直接初始化, 跳过交互输入

npm install

给 npm 项目添加依赖模块

npm install -g 全局安装模块

npm install -P or -S => npm install --save

npm install -D => npm install --save-dev

npm install <name>@<version> => npm install vue@2.5.16

npm install url => https://github.com/vuejs/vue/archive/v2.5.16.tar.gz or https://github.com/vuejs/vue/tarball/v2.5.16

npm install [<@scope>/]<name>@<tag> => 私有模块

npm uninstall

取消安装模块

npm uninstall -g 取消全局安装

npm uninstall -S => npm uninstall --save

npm uninstall -D => npm uninstall --save-dev

npm run

npm run 是 npm run-script 的别名用法,用来执行 package.json 中 script 对象中配置的脚本命令。例如:

{
    "scripts": {
        "echo": "echo HELLO WORLD"
    }
}

我们就可以通过 npm run echo 命令来执行这段脚本,像在 shell 中执行该命令 echo HELLO WORLD 一样,看到终端输出 HELLO WORLD.

npm scripts 的基本使用就是这么简单,它提供了一个简单的接口用来调用工程相关的脚本。关于更详细的相关信息,可以参考阮一峰老师的文章 npm script 使用指南.

简要总结

1、npm run命令会自动在环境变量$PATH添加node_modules/.bin目录,所以scripts字段里面调用命令时不用加上路径,这就避免了全局安装NPM模块,可以直接运行本地模块。

2、直接运行npm run不给出任何参数,就会列出scripts属性下所有命令

3、npm run命令还可以添加参数。将参数传到所指定的命令行,需要参数之前要加上两个连词线 --

"scripts": {
    "test": "mocha test/"
}
npm run test -- anothertest.js

等同于

mocha test/ anothertest.js

4、npm run 为每条命令提供了 pre- 和 post- 两个钩子(hook)。以npm run test为例,执行这条命令之前,npm 会先查看有没有定义 pretest 和 posttest 两个钩子,如果有的话,就会先执行 npm run pretest,然后执行 npm run test,最后执行 npm run posttest。

内置命令:

npm test 内置命令,等同于执行 npm run test

npm start 内置命令,等同于执行npm run start

npm stop 内置命令,等同于执行npm run stop

npm restart 内置命令,等同于执行npm run restart

npm publish

用于将当前模块发布到 npmjs.com

1、申请用户名 npm adduser 2、登录 npm login 3、发布 npm publish

参考阅读:

npm 命令配置技巧

npm scripts 使用指南

2018 年了,你还是只会 npm install 吗?

npm命令及配置详细解读

npm 模块安装机制简介

npm常用命令学习