1、npm init

比如在一个空的文件夹下执行npm init命令

使用npm进行插件的发布

初始化了一个package文件。

使用npm进行插件的发布

需要关注的点:

main:指出了这个模块的抛出路径。在这里是index.js。(假如我们这个infra-test作为一个npm包发布到npm服务器,那我们这个包就是整个项目的出口)

2、npm install 发生了什么?

例如:npm install --save moment

新增了node_modules文件夹

在package.json中新增了dependencies字断。

例如:npm install

查询package.json文件,找到dependencies字断,如果你的node_modules中有对应的包,就不进行下载,如果没有这个包,会在npm服务器上继续下载这个包,放到node_modules文件夹中。

如果在查看这个dependencies字断的时候,如果我们把这个包的地址,指向我们自己的一个地址,npm会寻找我们自己给的这个地址,他会把对应的地址的整个包下载到我们的node_modules文件中。

3、发布一个包的完整过程。

添加你的npm账号

npm adduser

username:

password:

Email:

使用npm进行插件的发布

npm publish,就会把你的包发布到npm服务器上。

使用npm进行插件的发布

发布完成。

4、和正常的包一样,使用我们的node包。

npm Add install ‘infra-test’;

使用npm进行插件的发布

代码中使用:

使用npm进行插件的发布

代码执行结果:

使用npm进行插件的发布

5、我们的import Add from ‘infra-test’,发生了什么?

直接在node_modules中,找到infra-test的包,先查询package.json文件,找准它的main字断,加载对应的模块。

在这个加载的js模块的时候,这个js文件中,必须有module.exports关键字进行导出。

/**

  • Created by mapbar_front on 2019-01-10.
    */
    function add(a, b) {
    return a + b;
    }

module.exports = {
add
}
6、package中指向自己的git地址,该怎么办?

使用npm进行插件的发布

执行npm install

这个git地址的功能和上面的infra-test的npm服务器上发布的包一模一样的。

使用和测试:

在package.json中配置我们自己的git地址。

使用npm进行插件的发布

代码模块如下:

使用npm进行插件的发布

和我们发布到npm上的包是一样的结果。

相关文章: