Node.js 入门 —— npm 与包

1 前言

本文内容来自bilibili 黑马程序员

2 包

2.1 什么是包

Node.js 中的第三方模块,又叫做包
从 https://www.npmjs.com/ 网站上搜索自己所需要的包
从 https://registry.npmjs.org/ 服务器上下载自己需要的包

2.2 规范的包结构

  1. 必须以单独的目录存在
  2. 顶级目录下必须包含 package.json 这个包管理配置文件
  3. package.json 中必须包含 name (包名)、 version (版本号)、 main (入口文件)这三个属性

3 新增包

  1. 新建文件夹 itheima-test
  2. 新建 package.json
    itheima-test 文件夹下新建 package.json
{
    
    
  "name": "itheima-test", // 名称自定义
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "description": "提供了格式化时间等功能",
  "keywords": ["dateFormat"],
  "license": "ISC"
}
  1. 新建 README.md
    itheima-test 文件下新建 README.md
## 安装
npm install itheima-test

## 导入方式
import format from 'itheima-test'

## 格式化时间
const dtStr = format.dateFormat(new Date) // 2022-12-18 16:45:34

## 开源协议
ISC
  1. 新建 index.js
    itheima-test 文件夹下新建 index.js
// 这是包的入口文件
import format from "./src/dateFormat.js";

export default {
    
    
  ...format
}
  1. 新建 dateFormat.js
    itheima-test 文件夹下新建 src 文件夹, src 文件夹下新建 dateFormat.js
const padZero = (n) => {
    
    
  return n < 10 ? `0${
      
      n}` : n
}

// 定义时间格式化方法
const dateFormat = (dateStr) =>{
    
    
 const dt = new Date(dateStr)
 const y = padZero(dt.getFullYear())
 const m = padZero(dt.getMonth() + 1)
 const d = padZero(dt.getDate())
 const hh = padZero(dt.getHours())
 const mm = padZero(dt.getMinutes())
 const ss = padZero(dt.getSeconds())
 return `${
      
      y}-${
      
      m}-${
      
      d} ${
      
      hh}:${
      
      mm}:${
      
      ss}`
}

export default {
    
    
  padZero,
  dateFormat
}

4 发布包

若没有 npm 账号,需要先访问 https://registry.npmjs.org/ 注册一个

// 登录 npm
npm login
// 发布包
npm publish
// 删除包
npm unpublish 包名 --force

猜你喜欢

转载自blog.csdn.net/weixin_36757282/article/details/128661033