笔者在做产品开发时,需要标题提到的这方面的知识储备,因此做了一些调研,把学习笔记以文章的形式输出,以备将来查阅。
什么是 npm 包的二进制文件?
当我们谈论二进制文件时,我们指的是那些可执行的程序文件。
通常,这些文件是以 .exe
或者没有扩展名的形式存在于操作系统中,例如 Unix 系统中的可执行脚本。这些文件能够直接运行,通常包含在某个软件包中,或是该软件包的一部分。
在 npm 环境中,很多包不仅仅提供 JavaScript 库,还包含命令行工具,这些工具往往以二进制文件的形式存在。例如,像 webpack
、eslint
、typescript
这样的工具,它们本质上都是可以在命令行中直接执行的二进制文件。
本地安装的 npm 包
在 Node.js 项目中,npm 包可以以两种方式安装:全局安装(global installation)和本地安装(local installation)。
-
全局安装:当你使用
npm install -g package-name
命令时,这个包会被安装到你的全局node_modules
目录中,并且它的二进制文件会被放置到全局bin
目录中。这意味着你可以在任何地方运行这个命令,无需指定路径。例如,全局安装typescript
后,可以直接在命令行中输入tsc
来执行 TypeScript 编译器。 -
本地安装:本地安装是指将 npm 包安装到项目的
node_modules
目录下。当你执行npm install package-name
(不带-g
参数)时,包会被安装到当前项目的node_modules
目录中,而对应的二进制文件会被放置到node_modules/.bin/
目录中。