Skip to content

本地开发

代码获取

如果你还没有获取代码,可以先从 快速开始 处开始阅读文档。

前置准备

为了更好的开发体验,我们提供了一些工具配置、项目说明,以便于您更好的开发。

需要掌握的基础知识

本项目需要一定前端基础知识,请确保掌握 Vue 的基础知识,以便能处理一些常见的问题。建议在开发前先学一下以下内容,提前了解和学习这些知识,会对项目理解非常有帮助:

工具配置

如果您使用的 IDE 是vscode(推荐)的话,可以安装以下工具来提高开发效率及代码格式化:

Npm Scripts

npm 脚本是项目常见的配置,用于执行一些常见的任务,比如启动项目、打包项目等。以下的脚本都可以在项目根目录的 package.json 文件中找到。

执行方式为:pnpm run [script]npm run [script]

json
{
  "scripts": {
    // 构建项目
    "build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 turbo build",
    // 构建项目并分析
    "build:analyze": "turbo build:analyze",
    // 构建本地 docker 镜像
    "build:docker": "./build-local-docker-image.sh",
    // 单独构建 web-antd 应用
    "build:antd": "pnpm run build --filter=@vben/web-antd",
    // 单独构建文档
    "build:docs": "pnpm run build --filter=@vben/docs",
    // 单独构建 web-ele 应用
    "build:ele": "pnpm run build --filter=@vben/web-ele",
    // 单独构建 web-naive 应用
    "build:naive": "pnpm run build --filter=@vben/naive",
    // 单独构建 playground 应用
    "build:play": "pnpm run build --filter=@vben/playground",
    // changeset 版本管理
    "changeset": "pnpm exec changeset",
    // 检查项目各种问题
    "check": "pnpm run check:circular && pnpm run check:dep && pnpm run check:type && pnpm check:cspell",
    // 检查循环引用
    "check:circular": "vsh check-circular",
    // 检查拼写
    "check:cspell": "cspell lint **/*.ts **/README.md .changeset/*.md --no-progress"
    // 检查依赖
    "check:dep": "vsh check-dep",
    // 检查类型
    "check:type": "turbo run typecheck",
    // 清理项目(删除node_modules、dist、.turbo)等目录
    "clean": "node ./scripts/clean.mjs",
    // 提交代码
    "commit": "czg",
    // 启动项目(默认会运行整个仓库所有包的dev脚本)
    "dev": "turbo-run dev",
    // 启动web-antd应用
    "dev:antd": "pnpm -F @vben/web-antd run dev",
    // 启动文档
    "dev:docs": "pnpm -F @vben/docs run dev",
    // 启动web-ele应用
    "dev:ele": "pnpm -F @vben/web-ele run dev",
    // 启动web-naive应用
    "dev:naive": "pnpm -F @vben/web-naive run dev",
    // 启动演示应用
    "dev:play": "pnpm -F @vben/playground run dev",
    // 格式化代码
    "format": "vsh lint --format",
    // lint 代码
    "lint": "vsh lint",
    // 依赖安装完成之后,执行所有包的stub脚本
    "postinstall": "pnpm -r run stub --if-present",
    // 只允许使用pnpm
    "preinstall": "npx only-allow pnpm",
    // husky的安装
    "prepare": "is-ci || husky",
    // 预览应用
    "preview": "turbo-run preview",
    // 包规范检查
    "publint": "vsh publint",
    // 删除所有的node_modules、yarn.lock、package.lock.json,重新安装依赖
    "reinstall": "pnpm clean --del-lock && pnpm install",
    // 运行 vitest 单元测试
    "test:unit": "vitest run --dom",
    // 更新项目依赖
    "update:deps": " pnpm update --latest --recursive",
    // changeset生成提交集
    "version": "pnpm exec changeset version && pnpm install --no-frozen-lockfile"
  }
}

本地运行项目

如需本地运行文档,并进行调整,可以执行以下命令,执行该命令,你可以选择需要的应用进行开发:

bash
pnpm dev

如果你想直接运行某个应用,可以执行以下命令:

运行 web-antd 应用:

bash
pnpm dev:antd

运行 web-naive 应用:

bash
pnpm dev:naive

运行 web-ele 应用:

bash
pnpm dev:ele

运行 docs 应用:

bash
pnpm dev:docs

公共静态资源

项目中需要使用到的公共静态资源,如:图片、静态HTML等,需要在开发中通过 src="/xxx.png" 直接引入的。

需要将资源放在对应项目的 public/static 目录下。引入的路径为:src="/static/xxx.png"

DevTools

项目内置了 Vue DevTools 插件,可以在开发过程中使用。默认关闭,可在.env.development 内开启,并重新运行项目即可:

bash
VITE_DEVTOOLS=true

开启后,项目运行会在页面底部显示一个 Vue DevTools 的图标,点击即可打开 DevTools。

Vue DevTools

本地运行文档

如需本地运行文档,并进行调整,可以执行以下命令:

bash
pnpm dev:docs

问题解决

如果你在使用过程中遇到依赖相关的问题,可以尝试以下重新安装依赖:

bash
# 请在项目根目录下执行
# 该命令会删除整个仓库所有的 node_modules、yarn.lock、package.lock.json后
# 再进行依赖重新安装(安装速度会明显变慢)。
pnpm reinstall

贡献者

页面历史

基于 MIT 许可发布.