vue3+vite+ts+pinia项目初始化配置

一、项目所需环境

  1. 首先安装好node,并且node v14版本及以上;
  2. 安装vue-cli:npm install -g @vue/cli

二、用命令行创建vue3项目

// npm创建
npm create vite@latest 项目名

// yarn创建
 yarn create vite 项目名

三、项目组件所需

​
√ Select a framework: » Vue
√ Select a variant: » TypeScript

1. 安装Sass/Less (推荐sass)

// npm创建
 npm add -D sass 
// yarn创建
 yarn add -D sass 

2. 安装router(路由)

// npm创建
 npm install vue-router
// yarn创建
 yarn add vue-router

main.ts文件引入 

import { createApp } from 'vue'
import App from './App.vue'
 
//routes
import router from "./routes/index"; 
 
const app= createApp(App)
 
//routes 
app.use(router)  
app.mount('#app')

在src下创建一个 routes 文件夹,再创建一个 index.ts 文

import { createRouter, createWebHistory } from "vue-router";
 
let routes= [
    {
        path: '/',
        name: 'home',
        component: () => import('../view/index.vue')
    },
]
// 路由
const router = createRouter({
    history: createWebHistory(),
    routes
})

export default router

 3. 安装pina

// npm创建
 npm install pinia 
// yarn创建
 yarn add pinia

创建stores文件夹,stores/index.ts引入

// https://pinia.vuejs.org/
import { createPinia } from 'pinia';

// 创建
const pinia = createPinia();

// 导出
export default pinia;

 src/main.ts

import { createApp } from 'vue';
import pinia from '/@/stores/index';

const app = createApp(App);

app.use(pinia);
app.mount('#app')

3. 安装axios

 npm install axios

 4. 安装Element Plus组件库

// npm创建
npm install element-plus --save
// yarn创建
 yarn add element-plus

src/main.ts

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// ElementPlus 
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)

app.use(ElementPlus)
app.mount('#app')

5. 自动导入(elementUI推荐安装)

 npm install -D unplugin-vue-components unplugin-auto-import

vite.config.ts文件

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from "path";
// 自动导入vue中hook reactive ref等
import AutoImport from "unplugin-auto-import/vite"
//自动导入ui-组件 比如说ant-design-vue  element-plus等
import Components from 'unplugin-vue-components/vite';
 
// https://vitejs.dev/config/
export default defineConfig({
	plugins: [
		vue(),
		AutoImport({
			//安装两行后你会发现在组件中不用再导入ref,reactive等
			imports: ['vue', 'vue-router'],
            //存放的位置
			dts: "src/auto-import.d.ts",
		}),
		Components({
			// 引入组件的,包括自定义组件
            // 存放的位置
            dts: "src/components.d.ts",
		}),
	],
 
})

四、配置@别名

根目录 vite.config.ts

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// 配置@别名
import { resolve } from "path"; 

export default defineConfig({
  plugins: [vue()],
    resolve: {
      // 路径别名
      alias: {
        "@": resolve(__dirname, "./src")
      }
    }
})

根目录 tsconfig.json

{
  "compilerOptions": {
    "target": "ESNext",
    ...
 
    // 配置@别名
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }, 
  },
}

注:import { resolve } from “path” 错误时运行以下命令 

npm install @types/node --save-dev

原文地址

你好!对于使用 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、付费专栏及课程。

余额充值