Skip to content

制作自己的npm包

仲灏2022-08-28约 1 分钟

<div style="display: none;" hidden="true" aria-hidden="true" data-nosnippet>Are you an LLM? You can read better optimized documentation at /pages/34a68b.md for this page in Markdown format</div>

在编写脚本使, 在文件开始位置添加#!/usr/bin/env node 以告诉系统以node 来运行改脚本文件

node test.js 等价于 /usr/bin/env node test.js

可以以软连接的形式创建你特有的全局命令, 到/Users/izhaong/.nvm/versions/node/v14.18.2/binln -s /..*/.....test.js izhaong , 这样就可以直接运行izhaong以执行test.js 文件了

可以为全局命令创建别名: 到usr/node/bin下 :ls ./izhaong izhaong2 ls 旧脚本地址 新脚本名字

node/bin目录下(我的是/Users/izhaong/.nvm/versions/node/v14.18.2/bin , ll就能看到所有的命令以及它的软连接image-20230110214723644

本地开发调试: 进入路径(包含包名称), 全局安装该包, 会把软连接指向当前目录下的包; 第二种方式就是cmd进入包中, 输入npm link, 就会创建软连接指向该包

开发调试技巧: 当你项目存在多个包时, 通过npm i *** -g 添加软链, 也可以通过在包下npm link , 然后直接在项目中npm link **, 代码引用即可, 记得包加上 package/main入口文件, 当想要取消掉本地的包时, 需要在包下 npm unlink , 确保没有问题, 去 usr/node/node_modules/ 下面去看看

开发技巧

链接本地库

shell
cd your-lib-dir
npm link

取消链接本地库文件:

shell
cd your-1ib-dir 
npm unlink
cd your-cli-dir

# link 存在
npm unlink your-lib 

# link 不存在
rm -rf node modules 
npm instal1 you-lib -S

理解 npm link:

  • npm link your-lib:将当前项目中 node modules 下指定的库文件链接到 node 全局 node modules下的库文件

  • npm link:将当前项目链接到 node 全局 node_ modules 中作为一个库文件,并解析 bin 配置创建可执行文件

理解 npm unlink:

  • npm unlink:将当前项目从 node 全局 node_ modules 中移除

  • npm unlink your-1ib:将当前项目中的库文件依赖移除