欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

node package manager

程序员文章站 2022-05-31 09:29:38
...

什么是npm

npm(node package manager),通常称为node包管理器。顾名思义它的主要功能就是管理node包。它可以让开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单,不过有的时候项目依赖过多,造成路径过深,超过了操作系统的文件深度限制。因此npm3对此做了很大改进。简单的来说将传统的嵌套结构改为了平铺结构

npm的安装

安装node后,npm会自动被安装
安装完成后,在终端输入 node -v 查看node版本,输入 npm -v 查看npm版本
npm版本应该大于2.1.8,输入 sudo npm install npm -g 可更新npm的版本。

npm包管理

node包的安装分两种: 本地安装、全局安装,两者的区别如下:

  • 本地安装: package会被下载到当前所在目录,也只能在当前目录下使用
  • 全局安装: package会被下载到特定的系统目录下安装的package能够在所有目录下使用。

node_module查找依赖的路线是:先从本地目录下寻找,不存在就依次向上级目录中查询,直到系统根目录。node全局安装在系统根目录下,所以全局安装后可在所有目录下使用。

另外,如果你需要用到别人的包,你可以去npm官网去搜索你需要的包名,使用方法都会在上面,你只需要在你的 终端输入 npm install <app name> 就可以下载到你的目录下,然后就可以通过require去使用模块,你也可以注册登录npm,在这上面分享你的代码供其他人使用。

npm install --save app:安装的是项目运行所依赖的模块,依赖名称会存到package.json里的"dependencies"字段里;
npm install --save-dev app:安装的是项目开发所需要的模块,依赖名称会存到package.json里的"devDependencies"字段里

二者之间的区别在于:比如类似于grunt,babel这类工具,是开发时使用的,就用--save-dev;
而类似于jquery这种是给用户使用的,就用--save。

而如果你需要在npm上发布了一个包,其中有两个文件是必不可少的,README.md , package.json 。
README :你对发布你的包的介绍信息(使用方法,安装方法等)
package.json :每个项目的根目录下面,一般都有一个package.json文件,用于定义项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需要的模块,配置项目所需的运行和开发环境,npm init指令可以帮你生成一个package.json,你只需要填入信息即可。

npm script

npm script 允许在 package.json 中使用 script 字段定义脚本命令。通过设置npm script可以方便的实现前端工作流,举例来说,如果我们在package中添加下面在这段脚本

"scripts": {
    "start": "node index.js",
}

此时,我们在npm 输入 npm run start,就相当于执行了node index.js

npm 脚本的原理非常简单。每当执行npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。

比较特别的是,npm run新建的这个 Shell,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。

这意味着,当前目录的node_modules/.bin子目录里面的所有脚本,都可以直接用脚本名调用,而不必加上路径。比如,当前项目的依赖里面有 Mocha,只要直接写mocha test就可以了。
关于 npm script ,推荐大家去看看阮一峰的这篇博客:npm script 的使用

上一篇: Debian Package Manager - dpkg

下一篇: box