dc-berry
v1.0.2
Published
A simple JavaScript library named dc-berry
Readme
dc-berry
A simple JavaScript library named dc-berry
Installation
npm install dc-berryUsage
import { dcBerry } from 'dc-berry'
dcBerry()description
这是我第一个 npm 包,用于学习 npm 包的发布,记录一下发布过程
- 申请 npm 账号
- 登录 npm 账号
- 初始化项目
- mkdir dc-berry
- cd dc-berry
- npm init -y
- 配置 package.json
{
"name": "dc-berry", // 包名,npm 上唯一
"version": "1.0.0", // 版本号,每次发布都要更新
"description": "A simple JavaScript library named dc-berry",
"main": "dist/index.js", // 入口文件,require 或 import 时的路径
"types": "dist/index.d.ts", // 类型声明文件,TS 或 JS 项目需要
"scripts": {
"start": "node src/index.js", // 启动项目,用于调试
"build": "tsc src/index.ts --outDir dist --declaration", // 构建项目,编译 TS 生成 JS 和 .d.ts 文件
"prepare": "npm run build" // 发布前自动执行构建脚本
},
"keywords": ["dc-berry"],
"files": [
"dist" // 发布的文件目录
],
"author": "Chenjc",
"license": "MIT"
}- 创建 src 目录,编写代码到 index.ts
- 创建 tsconfig.json 文件, 配置如下
{
"compilerOptions": {
"target": "ES6", // 编译生成的JS目标版本
"module": "es6", // 模块系统,根据需求可选 "ESNext" 等
"declaration": true, // 🔥 关键:生成 .d.ts 声明文件
"outDir": "./dist", // 输出目录,.js 和 .d.ts 文件都会在这里
"rootDir": "./src", // 指定源码根目录,防止生成不正确的目录结构
"strict": true, // 启用严格类型检查
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.test.ts"]
}- 本地测试
- 运行
npm link命令,将当前项目链接到全局 npm 模块目录 - 创建一个新的测试项目,运行
npm link dc-berry命令,将 dc-berry 链接到测试项目的 node_modules 目录 - 在测试项目中引入 dc-berry 并测试
- 测试完成后,运行
npm unlink dc-berry命令,将 dc-berry 从测试项目的 node_modules 目录中移除 - 运行
npm unlink命令,将当前项目从全局 npm 模块目录中移除
- 运行
- 发布项目
- 登录 npm 账号
- 运行
npm publish命令,发布项目 - 发布完成后,在 npm 官网上搜索包名,查看是否发布成功
- 发布成功后,在其他项目中运行
npm install dc-berry命令,安装 dc-berry 包 - 在其他项目中引入 dc-berry 并测试
- 更新项目
- 更新项目代码
- 更新 package.json 中的 version 字段,如 1.0.1
- npm version patch (补丁版本)
- npm version minor (次版本)
- npm version major (主版本)
- 运行
npm publish命令,发布更新
- 删除项目
- 运行
npm unpublish [email protected]命令,删除指定版本的项目 - 运行
npm unpublish dc-berry --force命令,强制删除项目 - 运行
npm cache clean --force命令,清除 npm 缓存 - 运行
npm cache verify命令,验证缓存是否清除成功
- 运行
