乐闻世界logo
搜索文章和话题

How to use executables from a package installed locally in node_modules?

1 个月前提问
1 个月前修改
浏览次数17

1个答案

1

在Node.js项目中,当我们通过npm安装依赖时,如npm install <package>,若该包中包含可执行文件,这些文件通常会被安装在项目的node_modules/.bin目录中。利用这些可执行文件有几种方法,我会逐一说明。

1. 使用npm脚本

package.json文件中,我们可以定义自定义脚本,这些脚本可以直接使用node_modules/.bin目录下的可执行文件,无需指定完整路径。npm在运行脚本时会临时将node_modules/.bin添加到系统的PATH变量,使得这些可执行文件能被直接调用。

例如,如果我们安装了eslint这个包,我们可以在package.json中这样设置:

json
{ "scripts": { "lint": "eslint ." } }

然后通过运行npm run lint来执行eslint检查。

2. 在命令行中直接调用

如果我们需要在命令行中直接使用这些可执行文件,可以通过指定完整的路径调用它们,如:

bash
./node_modules/.bin/eslint .

这种方法直接但稍显繁琐,因为每次都需要输入完整的路径。

3. 使用npx(推荐方法)

npx是一个npm包运行器,它可以帮助我们以非常简便的方式执行node_modules/.bin中的命令。npx会自动在node_modules/.bin目录中查找可执行文件,并运行它。

例如,要运行eslint,只需:

bash
npx eslint .

这个方法的好处是即使我们没有全局安装eslint,只要它被安装在本地项目中,npx就能找到并运行它。

总结

使用node_modules/.bin目录中的可执行文件的推荐方法是通过npx或定义在package.json中的脚本。这两种方法都不需要我们记住复杂的路径,同时提高了项目的可移植性和易用性。

2024年8月2日 14:20 回复

你的答案