如何开发NPM包

Posted xclw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开发NPM包相关的知识,希望对你有一定的参考价值。

创建包目录

D:>mkdir mypackage && cd mypackage
D:mypackage>npm init --yes

进入mypackage目录,你会看到一个package.json文件,其内容如下:

{
  "name": "mypackage",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

其中"main"指向了你的包的入口点,当别人使用你的模块时require("mypackage"),实际返回的是"main"指向的"index.js"文件中的module exports

完成包功能

在mypackage目录下创建index.js文件,并添加如下内容:

"use strict";

    module.exports = function sum(a, b) {
        return a+b;
    }

包的内容很简单,就是完成一个加法运算

测试

新建一个项目mypackage_test用于测试

D:>mkdir mypackage_test && cd mypackage_test

D:mypackage_test>npm init --yes

 

(划重点)在测试阶段,如何不用每次改动都重新编译并发布到NPM

方法1:绝对路径引用

D:mypackage_test>npm install D:/mypackage

此时查看package.json,其内容如下(注意粗体部分):

{
  "name": "mypackage_test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "mypackage": "file:../mypackage"
  }
}

此时再到node_modules目录下查看,目录结构如下

技术分享图片

方法2:使用“npm link”

D:mypackage>npm link
D:mypackage_test>npm link mypackage

此时再到node_modules目录下去验证

技术分享图片

方法3:

D:mypackage>npm pack
mypackage-1.0.0.tgz

此时会在mypackage目录下生成mypackage-1.0.0.tgz文件

然后到mypackage_test目录下执行命令

D:mypackage_test>npm install D:mypackagemypackage-1.0.0.tgz

 

发布

你需要拥有npm账号,使用npm publish命令,这里不再多讲了,很少用到

 

以上是关于如何开发NPM包的主要内容,如果未能解决你的问题,请参考以下文章

怎么开发一个npm包

快速开发一个npm包(轮子)

开发发布npm module包

如何发布带有 Vuex 模块的 Vue.js NPM 包?

在2018年如何优雅的开发一个typescript语言的npm包?

OpenHarmony npm包开发总结