如何创建一个NPM Package

NPM Package 学习,一个符合CommonJs规范的包,都可以成为一个Npm Package。


一,创建一个包

创建一个文件夹:good-helloworld

添加如下文件:

index.js

exports.helloWorld = function () {
  return "Hell World!";
}

exports.你好世界 = function () {
  return "你好世界!";
}


package.json

{
  "name": "good-helloworld",
  "version": "0.0.1",
  "private": false
}


README.md

NPM Package 学习
一个符合CommonJs规范的包,都可以成为一个Npm Package


然后执行

npm pack

会生成一个good-helloworld-0.0.1.tgz 文件,可以直接安装这个压缩包

npm install --save-dev bin/ngtwewy-helloworld/ngtwewy-helloworld-0.0.1.tgz 


项目目录的package.json文件中会添加一个

"devDependencies": {
    "good-helloworld": "file:bin/good-helloworld/good-helloworld-0.0.1.tgz"
  }


二,发布包到NPM

也可以把这个包发布到 www.npmjs.com 上。

npm login # 输入在www.npmjs.com注册的账号密码
npm publish --access public #发布你的npm包


提示如下,上传成功。地址:https://www.npmjs.com/package/good-helloworld

npm notice 
npm notice good-helloworld@0.0.1
npm notice === Tarball Contents === 
npm notice 129B index.js         
npm notice 147B demo/test.js       
npm notice 73B  package.json       
npm notice 444B README.md         
npm notice 1.3kB good-helloworld-0.0.1.tgz
npm notice === Tarball Details === 
npm notice name:     good-helloworld             
npm notice version:    0.0.1                  
npm notice package size: 2.2 kB                  
npm notice unpacked size: 2.1 kB                  
npm notice shasum:    5cb466dc9e8ed621b2e3961bcd23d63c479ef327
npm notice integrity:   sha512-QGm3SONjs2H8s[...]NvbP82R4eh4zA==
npm notice total files:  5                    
npm notice 
+ good-helloworld@0.0.1


使用 scope 的话,可以使用 npm init --scope=mygroup 创建 package.json。


参考:

https://www.npmjs.com/package/good-helloworld

https://www.cnblogs.com/liuming666/p/12470522.html

https://docs.npmjs.com/cli/v6/commands/npm-publish

https://blog.csdn.net/bugknightyyp/article/details/8783162

修改时间 2021-01-16

真诚赞赏,手留余香
赞赏
随机推荐
跟Github学习设计不符合 CRUD 情况的RESTful API
Git 对库文件权限的管理 git config core.filemode
Photoshop 抠图技巧笔记
gyp WARN EACCES user "nobody" does not have permission to access the dev dir
安卓平台版本、API 级别和 cordova-android 版本的关系
vue-cli使用
Node.js 递归遍历目录
Android实现推送方式解决方案
一个模板解析函数的bug
Workerman 实现 WebSocket IM 聊天系统 【前端篇】