vjt-auto
v1.0.3
Published
vite 基础工程模板,支持 vue3 jsx tailwindcss 语法, 自动部署到 服务器
Downloads
30
Maintainers
Readme
vite_jsx_tailwindcss_autodeploy_template
将本地 Vite 基础工程发布为 npm 包,让他人(或自己)可通过 npm install 直接下载使用,需遵循工程改造、包配置、发布流程三大核心步骤。以下是详细且可落地的操作指南:
一、前置准备
- npm 账号:若没有,先在 npm 官网 注册,或通过
npm adduser命令行注册。 - 工程规范:确保本地 Vite 工程是可复用的模板/基础工程,而非业务工程(比如移除业务代码、保留基础配置:ESLint、TS、CSS 预处理器、目录结构等)。
- 环境检查:
# 检查 npm 源(必须是官方源,否则发布失败) npm config get registry # 需返回 https://registry.npmjs.org/ # 若不是,临时切换: npm config set registry https://registry.npmjs.org/
二、改造 Vite 工程为可发布的 npm 包
1. 调整工程目录结构
基础工程需明确入口文件和可复用的模板文件,推荐目录结构:
your-vite-template/
├── template/ # 核心:Vite 基础工程的模板文件(用户下载后生成的内容)
│ ├── src/
│ ├── public/
│ ├── index.html
│ ├── package.json
│ ├── vite.config.ts
│ ├── tsconfig.json
│ └── ...(其他基础配置)
├── bin/ # 可选:自定义 CLI 命令(方便用户快速初始化)
│ └── create.js
├── package.json # 关键:npm 包的配置文件
├── README.md # 说明文档(使用方式、特性等)
└── .npmignore # 排除不需要发布的文件2. 核心配置:package.json
修改/新增 package.json 中的关键字段(重点!):
{
"name": "your-vite-template", // 包名(npm 上唯一,可先去 npm 搜是否已存在)
"version": "1.0.0", // 版本号(每次发布需更新,遵循语义化版本:MAJOR.MINOR.PATCH)
"description": "自定义 Vite 基础工程模板", // 描述
"main": "index.js", // 入口文件(若仅作为模板,可指向 CLI 脚本)
"bin": {
"create-vjt-app": "./bin/create.js" // 自定义 CLI 命令(比如用户执行 create-vjt-app 即可初始化)
},
"files": [ // 指定发布到 npm 的文件/目录(避免发布无关文件)
"template",
"bin",
"README.md"
],
"keywords": ["vite", "template", "vue", "react"], // 关键词(方便搜索)
"author": "your name", // 作者
"license": "MIT", // 开源协议(常用 MIT)
"publishConfig": { // 发布配置(强制官方源)
"registry": "https://registry.npmjs.org/"
},
"engines": { // 兼容的 node 版本
"node": ">=16.0.0"
}
}3. 编写 CLI 脚本(可选,但推荐)
为了让用户能快速通过命令初始化工程(类似 npm create vite@latest),编写 bin/create.js:
#!/usr/bin/env node
const fs = require('fs-extra');
const path = require('path');
const { execSync } = require('child_process');
// 获取用户输入的项目名称
const projectName = process.argv[2] || 'vite-project';
const targetDir = path.resolve(process.cwd(), projectName);
// 复制模板文件到目标目录
const templateDir = path.resolve(__dirname, '../template');
fs.copySync(templateDir, targetDir);
// 提示用户
console.log(`✅ 项目 ${projectName} 创建成功!`);
console.log(`📦 安装依赖:cd ${projectName} && npm install`);
console.log(`🚀 启动项目:npm run dev`);注意:
#!/usr/bin/env node必须放在第一行,标识这是 node 可执行脚本。
4. 配置 .npmignore
排除不需要发布的文件(避免包体积过大):
# 排除目录
node_modules/
.DS_Store
.git/
.github/
.vscode/
dist/
coverage/
# 排除文件
.env
.env.local
.gitignore
pnpm-lock.yaml
yarn.lock
*.log三、本地测试(发布前必做)
发布前先本地验证包是否可用,避免发布后出错:
1. 本地链接测试
# 在你的包根目录执行(将包链接到全局)
npm link
# 新建目录,测试 CLI 命令(比如你的命令是 create-vite-app)
mkdir test-project
cd test-project
create-vjt-app my-test-app # 执行你的 CLI 命令
# 检查生成的文件是否正确
cd my-test-app
ls # 应看到 template 目录下的所有文件
npm run dev # 验证工程是否能正常启动2. 模拟发布测试
# 检查包配置是否合法
npm pack # 生成 .tgz 包,可查看包内容是否正确
# 安装本地 .tgz 包测试
mkdir test-pack
cd test-pack
npm install ../your-vite-template-1.0.0.tgz
# 验证是否能引入/执行
node -e "require('your-vite-template')" # 若无报错则正常四、发布到 npm
1. 登录 npm
# 首次发布需登录(输入用户名、密码、邮箱)
npm login
# 验证是否登录成功
npm whoami # 输出你的 npm 用户名则成功2. 发布包
# 发布(确保版本号未发布过)
npm publish
# 若发布的是测试版(比如 1.0.0-beta.1),可加 tag
npm publish --tag beta
# 发布测试版时需提供 OTP 验证码(若已配置 2FA)
npm publish --tag beta --otp=071905注意:
- 包名若已被占用,需修改
package.json中的name字段(比如加前缀,如@your-name/your-vite-template,发布为作用域包);- 若发布作用域包(@用户名/包名),默认是私有包,需加
--access public发布为公有:npm publish --access public;- 每次发布需更新版本号(比如从 1.0.0 改为 1.0.1),否则会报错。
3. 发布后验证
发布成功后,可立即验证:
# 新建目录,安装刚发布的包
mkdir test-publish
cd test-publish
npm install your-vite-template # 安装线上包
# 或执行 CLI 命令(若有)
create-vjt-app my-app # 验证是否能正常创建工程五、后续维护
1. 更新包版本
若需迭代功能,修改代码后更新版本号:
# 自动更新版本号(推荐)
npm version patch # 补丁版本(1.0.0 → 1.0.1)
npm version minor # 次版本(1.0.0 → 1.1.0)
npm version major # 主版本(1.0.0 → 2.0.0)
# 重新发布
npm publish2. 撤销发布(紧急情况)
若发布后发现严重问题,可撤销(仅限发布后 72 小时内):
# 撤销指定版本
npm unpublish [email protected] --force
# 注意:尽量避免撤销,建议发布新版本修复问题六、使用方式(给用户的说明)
发布成功后,用户可通过以下方式使用:
1. 直接安装包
npm install your-vite-template --save-dev
# 或
yarn add your-vite-template --dev2. 通过 CLI 命令快速初始化(推荐)
# 全局安装 CLI
npm install -g your-vite-template
# 初始化工程
create-vjt-app my-vite-project
# 或直接执行(无需全局安装)
npx create-vjt-app my-vite-project关键注意事项
- 包名唯一性:发布前务必在 npm 官网搜索包名,避免重复;
- 版本号规范:遵循 语义化版本,禁止重复发布同一版本;
- 作用域包:若包名以
@用户名/开头,发布时需加--access public否则默认为私有(需付费); - 依赖管理:模板中的
package.json需明确依赖版本(避免使用*),确保用户安装后能正常运行; - 文档完善:
README.md需清晰说明安装方式、使用步骤、工程特性,降低用户使用成本。
通过以上步骤,你的 Vite 基础工程就能成为可复用的 npm 包,其他人可一键下载/初始化,大幅提升开发效率。
