我想来测试我本地未发布的NPM源码,该怎么实现呢?接下来进行一步步的实现:

npm link

npm link是一个非常有用的命令,可以让你在本地进行包的开发和测试,而无需发布到 npm registry。它通过创建符号链接,将一个本地包链接到另一个本地项目中。下面是一个完整的实例,演示如何使用 npm link 来测试本地未发布的源码。

接下来进行具体的操作步骤,创建两个项目文件夹
图片
my-library:这是一个你正在开发的 npm 包。
my-program:假定这是一个使用了 my-library 的应用程序。

1. 准备 my-library 项目

cd my-library文件夹然后npm init -y初始化项目
然后在项目里面创建一个简单的 index.js 文件,内容自定义,导出有内容即可,参考:

// my-library/index.js 
module.exports = function() { 
    console.log('Hello from my-library!');
};

图片

2. 使用 npm link 链接 my-library

在 my-library 项目的根目录下,运行以下命令来创建全局链接,命令为:
npm link
这个命令会将 my-library 链接到全局的 node_modules 目录中。命令执行后,你应该看到类似以下的输出:
图片
可能不同的平台效果不一样。

3. 准备 my-program 项目

设置 my-program 项目,新建文件夹,命名为my-program,然后命令cd ../my-program npm init -y,在目录下面创建一个 index.js 文件,内容为:

// my-app/index.js
const myLibrary = require('my-library');

myLibrary();

图片

4. 使用 npm link 链接 my-library 到 my-program

在 my-program 项目的根目录下,运行以下命令npm link my-library
图片
这个命令会将 my-program 项目的 node_modules 目录中的 my-library 符号链接到 my-library 项目的实际位置。文件夹下面对多了个node_modules目录,下面就是my-library包
图片

5. 运行 my-program 并测试链接

现在你可以在 my-program 项目中运行 index.js,来测试从 my-library 导入的功能,
node index.js

如果一切正常,你应该会看到以下输出:
Hello from my-library!

这个时候,你可以去npm源文件包更改index.js的内容,保存后,在项目目录重新执行index.js会发现内容也会变更。
图片

6. 取消链接

如果你想取消链接,恢复到原始的状态,可以运行以下命令:
npm unlink my-library
在 my-library 项目中,你也可以通过运行以下命令来删除全局链接:
npm unlink

总结

这个过程展示了如何在本地开发和测试未发布的 npm 包。使用 npm link,你可以轻松地在本地多个项目之间共享代码,而无需每次更改后重新发布到 npm registry。最后,如果你的npm测试没问题了就可以正式发布了。


mydetails
189 声望6 粉丝

一个技术