Tdesign-vue-next Chat 源码阅读(1) 本地启动

472 阅读1分钟

介绍

TDesign是腾讯开源的适配移动端的组件库,适合在 vue 3 技术栈项目中使用。本篇主要探讨聊天组件 TD Chat for AI

pnpm install

git clone https://github.com/Tencent/tdesign-vue-next.git --depth=1

pnpm:devPreinstall脚本

通过指令更新了git submodule,此项目关联了tdesign-common(TDesign 公共库)

child_process.execSync('git submodule update --init', { stdio: 'inherit' });
cat ./.gitmodules # 查看submodule

# [submodule "tdesign-common"]
#        path = packages/common
#        url = https://github.com/Tencent/tdesign-common.git

monorepo关联了submodule的包

// pnpm-workspace.yaml 
packages:
  - 'packages/**'
  - 'internal/**'
  - 'site'

postinstall脚本

调用internal/utils/package.json中的scripts,执行rollup构建internal/utils中的ts代码为js代码

  "scripts": {
    "prebuild": "rollup -c rollup.config.ts"
  },

dev:chat

运行pnpm dev:chat时启动了dev服务,测试服务代码在packages/tdesign-vue-next-chat目录下,启动时执行packages/tdesign-vue-next-chat/site下的devscripts

site承载了文档功能,文档中引入了开发时tdesign-vue-next-chat组件用于开发环境调试

dev site服务使用了markedhighlight.jsmarked-highlight等组件

packages/tdesign-vue-next-chat/site/src/routes.js定义了site文档的路由文件,由此可找到packages/pro-components/chat/chat.tsx为示例代码、packages/pro-components/chat/chat.md为API文档

image.png

build:chat

cross-env NODE_ENV=production tsx ./vue-next-chat/index.ts执行internal/builds/vue-next-chat/index.ts构建到dist目录后,将构建物复制到了packages/tdesign-vue-next-chat/es

tdesign-publish-cli

顾名思义,发布npm包的工具,并没发现代码

tip

tdesign-vue-next Button 测试用例对比element-plus Button 测试用例

pnpm -C 是 pnpm (Performant NPM) 的一个命令行参数,用于在指定目录下执行命令,而不必先切换到该目录。 这个参数非常有用,可以让你在不离开当前工作目录的情况下,操作其他目录中的 Node.js 项目。