当前位置:网站首页>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小时内不允许重复发布
边栏推荐
猜你喜欢
【转载】CMake 语法 - 详解 CMakeLists.txt
(1) Construction of a real-time performance monitoring platform (Grafana+Influxdb+Jmeter)
Summary: Cross Validation
pip 国内源下载
总结:交叉验证
Flask framework learning: template rendering and Get, Post requests
Flask framework learning: template inheritance
吃瓜教程task02 第3章 线性模型
更新啦~人生重开模拟器自制
Pytorch最全安装教程(一步到位)
随机推荐
C语言的二维数组初始化的几种方式介绍(私藏大数组初始化方式)
Markdown 常用到的一些编写技巧
leetcode21.合并两个有序链表
c指针学习(2)
[C language advanced] The first in-depth analysis of the storage of integer data in memory (1)
基于 TF-IDF 文本匹配实战详细教程 数据+代码 可直接运行
【背包】采药题解
【无标题】
C语言结构体详解 (2) 结构体内存对齐,默认对齐数
【翻译】博客游戏项目Q1K3 – 制作
【C语言从初阶到进阶】第一篇 初始C语言(一)
【C语言从初阶到进阶】第二篇 初始C语言(二)
我的四核Cortex-A53学习之路
信息学奥赛
C语言——逆序输出字符串的函数实现
selenuim使用cookie登录京东
二、Jmeter 核心配置文件
【C语言进阶】第一篇深度剖析整数数据在内存中的存储(一)
(一)性能实时监控平台搭建(Grafana+Influxdb+Jmeter)
【转载】CMake 语法 - 详解 CMakeLists.txt