package.json 中的 bin 字段作用
我们在下载 npm 包后,查看 npm 包的 package.json 有些包会有 bin 字段
例如我们常用的 webpack-cli 包
那么 bin 字段有什么用呢?
许多软件包都具有一个或多个要安装到 PATH 中的可执行文件。
bin 字段是命令名到本地文件名的映射。在安装时,npm 会将文件符号链接到 prefix/bin 以进行全局安装或./node_modules/.bin/本地安装。
当我们使用 npm 或者 yarn 命令安装包时,如果该包的 package.json 文件有 bin 字段,就会在 node_modules 文件夹下面的 .bin 目录中复制了 bin 字段链接的执行文件。我们在调用执行文件时,可以不带路径,直接使用命令名来执行相对应的执行文件。

下面是调用的命令
scripts: {
start: './node_modules/bin/someTool.js build'
}
// 简写为
scripts: {
start: 'someTool build'
}
上面的命令在调用时需要使用:
yarn start
但是如果我们不想在前面使用 yarn,而是直接在命令行中调用命令则需要用 yarn link 或者 npm link 将包的 bin 文件链接到 node 全局
或者也可以直接将包安装到全局 yarn add 你的包名 -g 或者 npm install 你的包名 -g
这样就可以直接在命令行中使用 bin 字段里注册的命令,而不需要加任何其余字段。
例如 vue-cli 中:
通过 npm install vue-cli -g
将命令安装到全局,然后使用脚手架创建项目时:vue create hello-world
即可直接在命令行中调用
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)