发布一个npm包和命令行脚本

举报
彭世瑜 发表于 2021/08/14 01:30:12 2021/08/14
【摘要】 1、注册账号 https://www.npmjs.com/ 2、初始化npm项目 npm init 1 目录结构 ├── index.js └── package.json 12 3、项目配置 package.json { "name": "2020ooxx", "version": "1.0.5", "description": "a demo...

1、注册账号
https://www.npmjs.com/

2、初始化npm项目

npm init

  
 
  • 1

目录结构

├── index.js
└── package.json

  
 
  • 1
  • 2

3、项目配置
package.json

{
  "name": "2020ooxx",
  "version": "1.0.5",
  "description": "a demo package",
  "main": "index.js",
  "scripts": { "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "mouday",
  "license": "ISC",
  "dependencies": {
  }
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

配置参数
https://docs.npmjs.com/files/package.json

常用参数

main:程序的入口文件,默认是index.js
devDependencies: 所依赖的开发环境下的包
dependencies:所依赖的线上环境下的包
repository: 代码存放地址(一般是git地址)
keywords:npm 包关键词

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

4、模块开发
index.js

function hello() { console.log("hello");
}

// 导出模块
module.exports.hello = hello


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5、登录发布

# 检查npm源
npm config get registry

# 如过不是下面的地址需要设置
npm config set registry https://registry.npmjs.org

# 登录
npm adduser

# 发包
npm publish

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

6、安装测试

npm i 2020ooxx

  
 
  • 1

demo.js

// 使用示例
// var ooxx = require("./index")
var ooxx = require("2020ooxx")

ooxx.hello();
// hello

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

7、命令行工具
bin/index.js

#!/usr/bin/env node

console.log("hi");

  
 
  • 1
  • 2
  • 3

修改package.json

{
  "bin": { "my-cli": "bin/index.js"
  }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

本地调试

$ npm link

$ my-cli
# hi

  
 
  • 1
  • 2
  • 3
  • 4

调试完成后可以发布

参考
npm发包流程
手写一个命令行工具到npm发布包

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/103827872

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。