当前位置:网站首页>04-开发自己的npm包及发布流程详细讲解
04-开发自己的npm包及发布流程详细讲解
2022-08-11 05:17:00 【CapejasmineY】
一、包规范
1、包必须以单独的目录存在
2、包的顶级目录下要必须包含package.json这个包管理配置文件
3、package.json中必须包含name,version,main这三个属性,分别代表包的名字,版本号,入口文件
二、开发输入自己的包
1、新建一个文件夹,作为包的根目录
2、在文件夹下,新建如下三个文件:
- package.json
- index.js
- README.md
3、修改package.json内容
{
"name":"lemon_pack",
"version" : "1.0.0",
"main": "01-index.js",
"description":"",
"keywords":"",
"license": "ISC"
}
name 包名,唯一性
version 版本号,默认从1.0.0开始
main 指定包的入口文件
description 描述信息
keywords 关键字
license 默认ISC,开源许可协议
注意:package.json文件也可以通过npm init命令来创建,创建好后修改内容即可
4、功能模块开发
如果自己的开发模块内容较多,最好将不同的功能拆分文件,避免index.js过大
在不同的模块文件中开发模块后,使用module.exports向外暴露,再由index.js文件导入,统一向外暴露
拆分模块,我这里将代码写到02-test.js中:
function htmlEscape(htmlstr){
return htmlstr.replace(/<|>|"|&/g,(match)=>{ switch (match){ case '<': return '<' case '>': return '>' case '"':
return '"'
case "&":
return '&'
}
})
}
module.exports ={
htmlEscape
}
在统一入口文件index.js中引入,再统一导出:
const escape = require('./02-test')
module.exports={
...escape
}
5、编写README.md
##安装
npm install liuyan_pack
##导入
const pack = require('lemon_pack')
##转义html中特殊字符串
const htmlStr=''
const str=pack.htmlEscape(htmlStr)
三、将自己的包发布到npm上
1、注册npm账号
2、登陆npm账号
3、发布包
cd 项目根目录
npm publish
注意:包名不能雷同,最好先到npm上查一下
4、删除已发布过的包
cd 项目目录
npm unpublish 包名 --force
注意:
- 使用该命令只能删除72小时以内发布的包
- 删除包后,在24小时内不允许重复发布
边栏推荐
- task03 Pytorch模型定义
- ClionIDE compiles by specifying the compiler
- 吃瓜教程task01 第2章 模型评估与选择
- 【win10+cuda7.5+cudnn6.0安装caffe⑥】报错及处理方式
- 字符与字符串
- (3) Construction of a real-time performance monitoring platform (Grafana+Prometheus+Node_explorer+Jmeter)
- 第8章 函数探幽-2
- leetcode21. Merge two ordered linked lists
- [Verilog] I2S Master Test Bench
- task06 PyTorch生态
猜你喜欢

Blender 初教程

(2) Construction of a real-time performance monitoring platform (Grafana+Prometheus+Jmeter)

task05 PyTorch可视化

【网站小白】Hibernate插入数据成功,不报错,但是数据库中没有值

QT GrabWindow截取屏幕

C语言自定义数据类型——联合体

(3) How Redis performs stress testing

【CSDN21天学习挑战赛】第一天,配置环境外加实现mnist手写数字识别

Flask framework learning: template rendering and Get, Post requests

Keras与tensorflow 使用基础
随机推荐
ClionIDE compiles by specifying the compiler
博客目录管理 :机器学习 深度学习 nlp
(2) Construction of a real-time performance monitoring platform (Grafana+Prometheus+Jmeter)
Keras与tensorflow 使用基础
基于TF-IDF 文本相似性实战 详细教程
QT circle函数(图片标注)
QT QLabel控件(使用详解)
深入理解线程、进程、多线程、线程池
第4章 复合类型-2(指针)
task03 Pytorch模型定义
普林斯顿概率论读本读书笔记(阅读中......)
Chapter 4-2 a complex type (pointer)
博客帮助文档
Chapter 13 Class Inheritance-1
QtDataVisualization 数据3D可视化
阿里天池学习赛 新闻文本分类
【C语言进阶】第一篇深度剖析整数数据在内存中的存储(一)
C语言——文件操作详解(1)
【win10+cuda7.5+cudnn6.0安装caffe③】编译及测试caffe
(三)性能实时监控平台搭建(Grafana+Prometheus+Node_explorer+Jmeter)