1.初识包及 npm

包的概念:

nodejs 中的第三方模块叫包

不同于 nodejs 中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用

nodejs 中的包都是免费开源的,不需要付费即可免费下载使用

为什么需要包

由于 nodejs 的内置模块仅仅提供了一些底层的 API,导致在基于内置模块进行项目开发的时候,效率很低

包是基于内置模块封装出来的,提供了更高级,更方便的 API,极大的提高开发效率

包和内置模块之间的关系,类似于 jQuery 和浏览器内置 API 之间的关系

包从哪里下载

npm,Lnc.公司旗下的著名网站

https://www.npmjs.com/ 这个网站搜索需要的包

全球最大的包共享平台,你可以从这个网站上搜索到任何你需要的包

npm,Lnc.公司提供一个服务器地址,共享所有的包

https://registry.npmjs.org/ 这个服务器地址可以下载需要的包

如何下包

npm,Lnc.公司提供一个包管理工具

下载 xxx 包

npm install xxx

2.解决下包速度慢的问题

npm 设置镜像源

查看当前下包镜像源

npm config get registry

将下包镜像源切换到淘宝镜像源

npm config set registry=https://registry.npm.taobao.org/

查看

nrm 切换 npm 下包镜像源

nrm 安装

将 nrm 安装为全局可用的工具

npm i nrm -g

查看所有 npm 镜像源

nrm ls

将镜像源切换到 taobao 镜像

nrm use taobao

3.自定义 npm 包,以及包的发布

自定义 npm 包

自定义 npm 包目录结构

|---src

|------dateFormat.js

|------escapeHTML.js

|---index.js

|---package.json

|---readme.md

package.json

{
"name": "gyc_tools",
"version": "1.0.0",
"main": "index.js",
"description": "格式化时间,HTMLEscape功能",
"keywords": ["gyc", "dateForm", "escape"],
"license": "ISC"
}

"name": "gyc_tools", // 包的名字

"version": "1.0.0", // 包的版本

"main": "index.js", // 包的入口文件

"description": "格式化时间,HTMLEscape 功能", // 包的功能描述

"keywords":["gyc","dateForm","escape"], // 包的关键字

"license": "ISC" // 包的开源协议

index.js

const date = require('./src/dateFormat')
const escape = require('./src/escapeHTML')
module.exports = {
...date,
...escape,
}

README.md

## 安装

npm i gyc-tools

## 导入

const gyc = require('gyc-tools')

## 格式化时间

// 调用 dateFormat 对时间进行格式化
const dtstr = gyc.dateFormat(new Date())
// 结果 2022-02-00 16:18:51
console.log(dtstr) ## 转义 HTML 中的特殊字符 // 调用 htmlEscape 方法进行转换
const str = gyc.htmlEscape(hrmlStr)
// 结果<h1 title="abc">这是 h1 标签<span>这是 span 标签 123  </span></h1>
console.log(str) ## 还原 HTML 中的特殊字符 // 调用 htmlUnEscape 方法进行还原
const str2 = gyc.htmlUnEscape(hrmlStr)
// 结果<h1 title="abc">这是 h1 标签<span>这是 span 标签 123 &nbsp;</span></h1>
console.log(str2) ## 开源协议 ISC

开发并发布依赖包,作为工具包供别人npm install的更多相关文章

  1. [实践]使用JarJar优雅的发布依赖包

    [实践]使用JarJar优雅的发布依赖包 打包工具: Jar Jar Links是一个Java类库重新打包工具. 可以帮助你将其它用到的java库打包并嵌入到你自己的项目jar包中.这样做的原因有: ...

  2. Cloudera5.8.3 HBase1.2.0开发必须的jar包

    Cloudera的HBase开发环境下载依赖包特别麻烦,通常是直接在CDH服务器上拷.

  3. ubuntu安装greenplum依赖包

    ubuntu安装greenplum的过程中有两个比较难找的包,特地写出来给大家分享一下: 错误提示1:configure: error: header file <ldap.h> is r ...

  4. Maven - 实例-2-使用本地仓库中的依赖包

    Maven引入构建包的流程 执行mvn compile命令编译源代码,如果编译过程中需要用到其他的包, maven将会在pom.xml文件中查找是否引入该依赖包的坐标. 示例: <depende ...

  5. CentOS6.5 安装Python 的依赖包

    1.CentOS6.5 安装Python 的依赖包 yum groupinstall "Development tools"yum install zlib-devel bzip2 ...

  6. Yum 下载安装包及对应依赖包

    Yum 下载安装包及对应依赖包: 安装该软件:yum install -y yum-plugin-downloadonly 以下载 openssh-server 为例 yum install -y o ...

  7. 开发并发布npm包,支持TypeScript提示,rollup构建打包

    前言: 工作了几年,想把一些不好找现成的库的常用方法整理一下,发布成npm包,方便使用.也学习一下开发发布流程. 主要用到的工具:npm. 开发库:babel.typescript.rollup.es ...

  8. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  9. npm包开发与发布

    把通用的功能开发成npm包,便用使用和维护,更重要的是可以分享给广大的开发者,是不是很激动人心! 那么,步骤如下: 1.创建项目 创建项目目录,npm init ,根据需要输入配置信息(建完后也可以在 ...

随机推荐

  1. APC 篇—— APC 执行

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  2. [USACO18DEC]Sort It Out P

    初看本题毫无思路,只能从特殊的 \(K = 1\) 出发. 但是直接考虑构造一组字典序最小的方案还是不好构造,可以考虑先手玩一下样例.通过自己手玩的样例可以发现,貌似没有被选出来的数在原排列中都是递增 ...

  3. JS 基本类型的包装对象

    笔记整理自:廖雪峰老师的JS教程 目录 包装对象 不写new的作用 总结 注意 包装对象 JavaScript还提供了包装对象,熟悉Java的小伙伴肯定很清楚int和Integer这种暧昧关系. nu ...

  4. 一次线上服务高 CPU 占用优化实践 (转)

    线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程.通过阅读这篇文章你会了解到下面这些知识. Java 程序 CPU 占用高的排查思路 可能造成线上服务 ...

  5. Mysql 占用字节大小

    数字类型 类型 字节数 TINYINT 1 字节 SMALLINT 2 个字节 MEDIUMINT 3 个字节 INT 4 个字节 INTEGER 4 个字节 BIGINT 8 个字节 FLOAT(X ...

  6. kubernetes基础——1.基本概念

    一.kubernetes特性 自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚,密钥和配置管理,存储编排,批量处理执行. 二.kubernetes cluster Masters * ...

  7. 简单模拟Java中反射的应用场景

    有人说Java是一门静态语言.那么何为静态语言,动态语言又是什么? 1.动态语言 是一类在运行时可以改变其结构的语言:例如新的函数.对象.甚至代码可以 被引进,已有的函数可以被删除或是其他结构上的变化 ...

  8. VC709E 基于FMC接口的FPGA XC7VX690T PCIeX8 接口卡

    一.板卡概述 本板卡基于Xilinx公司的FPGA XC7VX690T-FFG1761 芯片,支持PCIeX8.两组 64bit DDR3容量8GByte,HPC的FMC连接器,板卡支持各种FMC子卡 ...

  9. 基于双TMS320C6678 DSP的3U VPX的信号处理平台

    一.板卡概述 板卡由我公司自主研发,基于3U VPX架构,处理板包含两片TI DSP TMS320C6678芯片:一片Xilinx公司的Spartan XC3S200AN 配置芯片: DSP之间通过 ...

  10. Redis 忽然变慢了如何排查并解决?

    Redis 通常是我们业务系统中一个重要的组件,比如:缓存.账号登录信息.排行榜等. 一旦 Redis 请求延迟增加,可能就会导致业务系统"雪崩". 我在单身红娘婚恋类型互联网公司 ...