操作
- 创建两个文件夹, 分别是
npm-sum
和npm-example
并且执行npm i -y
初始化
mkdir npm-sum
mkdir npm-example
cd npm-sum & npm i-y
cd npm-example & npm i -y
- 在 npm-sum 文件夹中创建文件
index.js
并且编写一些代码, 如:
const sum = (...args) => {
return args.reduce((prev, next) => prev + next, 0);
}
module.exports = sum;
- 在 npm-example 文件夹中同样创建一个用来测试引入的文件 index.js, 并且引入 npm-sum 包进行测试
const sum = require('npm-sum');
console.log(sum(1, 2, 3, 4, 5));
如果此时我们执行时, 会报错, 因为本地进行测试开发的包并没有进行发布, 也没有进行安装,那么我们可以通过 npm link 方式将本地开发包链接到全局 node_modules/下
cd npm-sum
npm link
cd npm-example
# 注意: 这里的链接 link 指的是在 npm-sum 初始化时对应的 package.json 中的 name, 如果不一致可能是不生效
npm link npm-sum
-
可以看到将
npm-sum
链接到了全局的node_modules
下
然后我们在执行
node index.js
时就可以看到打印出来的结果了-
自动生成一个
package-lock.json
文件, 不需要管 可以通过 npm config get prefix 命令查看全局链接的地址
取消
# 添加链接
npm link
# 取消链接
npm unlink <package-name>
参考
npm-link
**
小结
使用此方法后, 可以愉快的在未发布情况下本地进行开发和测试自己的包了, 即便是链接别人的包或者不同版本的包也是可以使用的