从0搭建Vue3组件库(三): 组件库的环境配置

文章介绍了如何在项目中引入typescript,手动搭建一个基于Vite的Vue3组件库测试项目。过程包括安装typescript、vue3和less,配置tsconfig.json,创建Vue3项目,安装vite和vitejs/plugin-vue插件,处理ts识别.vue文件的问题,并设置pnpm-workspace.yaml使play项目能引用本地组件库。
摘要由CSDN通过智能技术生成

本篇文章将在项目中引入 typescript,以及手动搭建一个用于测试组件库组件 Vue3 项目
因为我们是使用 Vite+Ts 开发的是 Vue3 组件库,所以我们需要安装 typescript、vue3,同时项目将采用 Less 进行组件库样式的管理
pnpm add vue@next typescript less -D -w
使用pnpm如果要安装在项目根目录下,则需要加-w
初始化 ts
在根目录执行npx tsc --init,然后就会自动生成 ts 的配置文件tsconfig.json,然后我们对其做一个更换
{
“compilerOptions”: {
“baseUrl”: “.”,
“jsx”: “preserve”,
“strict”: true,
“target”: “ES2015”,
“module”: “ESNext”,
“skipLibCheck”: true,
“esModuleInterop”: true,
“moduleResolution”: “Node”,
“lib”: [“esnext”, “dom”]
}
}

tsconfig.json暂时先做这样一个配置,后续可能会有一定的调整
搭建一个基于 vite 的 vue3 项目
因为我们要开发的是一个 Vue3 组件库,肯定需要一个 Vue3 项目来测试我们的组件库,所以这里将自己搭建一个基于 Vite 的 Vue3 项目来对组件进行调试。因此我们在根目录新建一个叫 play 的文件夹然后初始化pnpm init,后续的组件调试就在这个项目下进行。接下来我们就开始搭建一个 Vue3+Vite 的项目
安装插件
我们需要安装vite和vitejs/plugin-vue插件,@vitejs/plugin-vue插件是为了解析后缀为.vue文件的。在 play 目录下执行
pnpm add vite @vitejs/plugin-vue -D
配置 vite.config.ts
新建vite.config.ts配置文件
import { defineConfig } from “vite”;
import vue from “@vitejs/plugin-vue”;

export default defineConfig({
plugins: [vue()],
});

新建入口 html 文件
@vitejs/plugin-vue会默认加载 play 下的 index.html

play

因为 vite 是基于 esmodule 的,所以script标签中需要添加type=“module”
app.vue
新建app.vue文件

启动测试

入口 main.ts
新建main.ts
import { createApp } from “vue”;
import App from “./app.vue”;

const app = createApp(App);

app.mount(“#app”);
配置脚本启动项目
在package.json配置scripts脚本
{
“name”: “play”,
“version”: “1.0.0”,
“description”: “”,
“main”: “index.js”,
“scripts”: {
“dev”: “vite”
},
“keywords”: [],
“author”: “”,
“license”: “ISC”,
“devDependencies”: {
“@vitejs/plugin-vue”: “^4.0.0”,
“vite”: “^4.1.1”
}
}

因为 play 项目需要测试本地的组件库,所以也需要将 play 和我们的组件库关联在一起。修改一下pnpm-workspace.yaml文件
packages:

  • “packages/**”
  • “play”

此时 play 项目便可以安装本地 packages 下的包了
最后执行pnpm run dev,便可启动我们的 play 项目
在这里插入图片描述

但是有一个问题就是 ts 无法识别*.vue文件,所以编译器会报红
在这里插入图片描述

此时我们需要新建一个声明文件vue-shim.d.ts,让 ts 认识*.vue的文件
declare module ‘*.vue’ {
import type { DefineComponent } from “vue”;
const component: DefineComponent<{}, {}, any>
}

此时报错便消失了。
到这里我们就完成一个 Vue3 项目的搭建,后续便可以在这个项目中进行本地组件的调试了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackieChan_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值