vue + ts + pinia项目搭建

创建项目

  1. 先创建个空目录,如webOA
  2. 进入该目录打开终端
    Windows:快捷键win + r ,输入cmd打开终端,通过cd进入该目录,或者在该目录下右键打开终端
    Mac:command + 空格输入terminal打开终端,通过cd进入该目录
  3. 使用命令npm create vite@atest⇒ 选择y ⇒ 选择vue ⇒ 选择typescript,这样最基础的框架已经完成,接下来安装相关依赖。

启动项目

  1. 首先npm install安装所需依赖,vite不会自动为我们安装相关依赖,然后npm run serve项目就可以启动了

处理一些配置问题

  1. 引入vue文件红线报错问题
    原因:找不到 vue模块
    解决方法: 需要将tsconfig.json文件中 moduleResolution设置成node
    在这里插入图片描述
    2. main.ts红线报错问题
    原因:找不到 vue模块
    解决方法: 找到 vite-env.d.ts 文件,在里面追加如下代码,保存即可
declare module "*.vue" {
   
    import type {
    DefineComponent } from "vue";
    const vueComponent: DefineComponent<{
   }, {
   }, any>;
    export default vueComponent;
}

在这里插入图片描述
3. 写ts语法变量名未饮用也会报错在这里插入图片描述
解决方法: 在 tsconfig.json 中将noUnusedLocals改为false,不去校验未使用的变量。
在这里插入图片描述
4. 设置路径别名,将相对路径改为绝对路径
@types/node 模块 在我们使用 node 方法(比如 path.resolve)时提供 ts 类型声明,否则编辑器会报错,虽然不影响代码运行,但是会有红线很影响心情,如下图所示。在这里插入图片描述
(1)安装 @types/node
npm i @types/node -D
(2)在 tsconfig.json 中设置 path

"baseUrl": ".",
    "paths": {
   
      "@/*": ["src/*"]
    }

在这里插入图片描述

(2)在 vite.config.ts 中配置

import {
    defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"

// https://vitejs.dev/config/
export default defineConfig({
   
  plugins: [vue()],
  resolve: {
   
    alias: [
      {
   
        find: "@", replacement: path.resolve(__dirname, "src")
      }
    ]
  }
})

在这里插入图片描述
这样就可以使用@代替src目录了

安装相关依赖

  1. 安装路由
    npm i vue-router
    (1) 在src下创建目录views,在此目录下存放页面。
你好!对于使用 Vue 3、TypeScript 和 Vite 来搭建项目,并结合 Pinia 进行状态管理,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了 Node.js 和 npm(或者使用 yarn)。 2. 创建一个新的项目文件夹,并进入该文件夹。 3. 在终端中运行以下命令来初始化一个新的 Vue 3 项目: ``` npm init vite@latest ``` 在初始化过程中,选择使用 Vue 3、TypeScript 和默认配置。 4. 进入项目文件夹并安装依赖: ``` cd <project-folder> npm install ``` 5. 接下来,安装 Pinia: ``` npm install pinia ``` 6. 在 `src` 目录下创建一个 `store` 文件夹,并在其中创建名为 `index.ts` 的文件。 7. 在 `index.ts` 中编写你的 Pinia store。例如,你可以创建一个名为 `counter` 的 store,并且在其中定义一个状态和一些操作: ```typescript import { defineStore } from 'pinia'; export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, }), actions: { increment() { this.count++; }, decrement() { this.count--; }, }, }); ``` 8. 在应用的入口文件 `main.ts` 中导入并使用 Pinia: ```typescript import { createApp } from 'vue'; import { createPinia } from 'pinia'; import App from './App.vue'; const app = createApp(App); const pinia = createPinia(); app.use(pinia); app.mount('#app'); ``` 9. 在组件中使用 Pinia store。在你的 Vue 组件中,可以使用 `useStore` 函数来访问 Pinia store: ```typescript import { useCounterStore } from '../store'; export default { setup() { const counterStore = useCounterStore(); return { counterStore, }; }, }; ``` 10. 最后,你可以在组件中使用 `counterStore` 来访问状态和操作: ```vue <template> <div> <p>{{ counterStore.count }}</p> <button @click="counterStore.increment()">Increment</button> <button @click="counterStore.decrement()">Decrement</button> </div> </template> <script> import { useCounterStore } from '../store'; export default { setup() { const counterStore = useCounterStore(); return { counterStore, }; }, }; </script> ``` 这样,你就可以使用 Vue 3、TypeScript、Vite 和 Pinia 搭建一个基本的项目并进行状态管理了。希望对你有帮助!如果还有其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值