Vue3+Vite项目搭建

技术栈:vue3+ts+vite+vue-router+element-plus+pinia

1、vite创建vue3+ts项目:

为什么选择vite而不是vue-cli:
vite 是一个基于 Vue3 单文件组件的非打包开发服务器,它做到了本地快速开发启动:

快速的冷启动,不需要等待打包操作;
即时的热模块更新,替换性能和模块数量的解耦让更新飞起;
真正的按需编译,不再等待整个应用编译完成,这是一个巨大的改变。(平均一秒run)

1.1 初始化
cnpm init vite@latest
1.2 项目信息
  • 输入项目名称
  • 选择Vue(如果上下键不能选择,就手动输入选项,再回车)
  • 选择TypeScript
  • 创建完毕

在这里插入图片描述

1.3 效果:

在这里插入图片描述

1.4 vscode打开,新建终端

(1)初始化

cnpm i

(2)运行

cnpm run dev

(3)效果
在这里插入图片描述

1.5 其他配置

(1)依赖

npm i @types/node -D

(2)修改vite.config.ts配置文件代码

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

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    // ↓路径别名,主要是这部分
    alias: {
      "@": resolve(__dirname, "./src")
    }
  }
})
1.6 报错汇总

(1)插件
使用vscode编写代码的时候,vue3中使用插件时需要禁用以前vue2常使用的插件Vetur,而安装Vue Language Features (Volar)插件。不然代码会提示报错。
(2)报错:找不到模块“xxx”或其相应的类型声明
解决1:没配置依赖

npm i @types/node -D

解决2:
也可能是因为typescript 只能理解 .ts 文件,无法理解 .vue文件。因此需要给.vue文件加上类型说明文件。
在项目根目录或 src 文件夹下创建一个env.d.ts 文件,
在这里插入图片描述
并在文件中写入以下内容:

declare module '*.vue' {
  import type { DefineComponent } from 'vue'
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
  const component: DefineComponent<{}, {}, any>
  export default component
}

2、配置路由:

2.1 安装路由
cnpm i vue-router
2.2 在src文件夹下创建views/login/index.vue
<template>
  <div>login页面</div>
</template>

<script setup lang="ts">
</script>

<style lang="less" scoped></style>
2.3 在src文件夹下创建router/index.ts

将Home.vue 和 About.vue 全部清空,重新建立vue文件模板(template + script + style)
制作登录页和首页

import {createRouter,createWebHashHistory} from 'vue-router'
const router=createRouter({
    history:createWebHashHistory(),
    routes:[
        {
            path:"/login",
            name:'login',
            component:()=>import ('../views/login/index.vue')
        }
    ]
})

export default router
2.4 src/main.ts中导入挂载路由
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router/index'

const app = createApp(App)
app.use(router)
app.mount('#app')
2.5 src/App.vue中设置路由出口,其他内容都删除
<template>
    <div>
        <router-view></router-view>
    </div>
</template>

<script setup lang='ts'>
import { ref } from "vue" 

</script>

<style lang="less" scoped>

</style>
2.6 效果

在这里插入图片描述

3、配置ts文件采用@方式导入:

tsconfig.json文件中添加配置

{
  "compilerOptions": {
    "target": "ESNext",
    "useDefineForClassFields": true,
    "module": "ESNext",
    "moduleResolution": "Node",
    "strict": true,
    "jsx": "preserve",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "esModuleInterop": true,
    "lib": ["ESNext", "DOM"],
    "skipLibCheck": true,
    "noEmit": true,

    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

4、安装代码检测工具

4.1 安装
cnpm install --save-dev eslint eslint-plugin-vue
4.2 在根目录创建.eslintrc.js文件

在这里插入图片描述

4.3 复制代码

在rules可以添加自己的验证规则

module.exports = {
  root: true,
  parserOptions: {
    sourceType: "module",
  },
  parser: "vue-eslint-parser",
  extends: [
    "plugin:vue/vue3-essential",
    "plugin:vue/vue3-strongly-recommended",
    "plugin:vue/vue3-recommended",
  ],
  env: {
    browser: true,
    node: true,
    es6: true,
  },
  rules: {
    "no-console": "off",
    "comma-dangle": [2, "never"], //禁止使用拖尾逗号
  },
};

5、安装css 预处理器 sass:

cnpm install -D sass sass-loader

6、引入element-plus:

6.1 安装
cnpm install element-plus --save
6.2 src/main.ts中引入
import { createApp } from "vue";
import "./style.css";
import App from "./App.vue";
import router from "./router/index";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";

const app = createApp(App);
app.use(router);
app.mount("#app");
app.use(ElementPlus);
6.3 使用

src/views/login.vue

<template>
  <div>login页面</div>
  <el-button type="primary" size="default" icon="el-icon-plus">新增</el-button>
</template>

<script setup lang="ts">

</script>

<style lang="scass" scoped></style>

效果:
在这里插入图片描述

7、安装pinia:

7.1 安装
npm install pinia
7.2 src/main.ts中全局引入
import { createApp } from "vue";
import "./style.css";
import App from "./App.vue";
import router from "./router/index";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import { createPinia } from "pinia";
const pinia = createPinia();

const app = createApp(App);
app.use(router);
app.mount("#app");
app.use(ElementPlus);
app.use(pinia);

以上,搭建完成。

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建Vue 3 Vite项目可以按照以下步骤进行: 1. 安装Vite: Vite是一个基于Vue 3单文件组件的非打包开发服务器,它可以提供快速的本地开发启动。你可以使用以下命令全局安装Vite: ``` npm install -g create-vite ``` 2. 创建项目: 使用create-vite命令创建一个新的Vue 3项目。在命令行中执行以下命令: ``` create-vite my-vue3-project --template vue-ts ``` 这将创建一个名为my-vue3-project的文件夹,并使用Vue TypeScript模板初始化项目。 3. 进入项目文件夹: 使用cd命令进入项目文件夹: ``` cd my-vue3-project ``` 4. 安装依赖: 在项目文件夹中执行以下命令安装项目所需的依赖: ``` npm install ``` 5. 启动开发服务器: 执行以下命令启动Vite开发服务器: ``` npm run dev ``` 现在,你的Vue 3 Vite项目已经创建成功,并且开发服务器已经启动。你可以通过访问http://localhost:3000来查看你的项目。 引用中提到了创建Vue 3 Vite项目所需的技术栈,包括vue3、ts、vitevue-router、element-plus和pinia。这些技术栈可以帮助你更方便地开发Vue 3项目。 引用中提到了选择Vite而不是vue-cli的原因,Vite可以提供本地快速开发启动,并且不需要打包,可以加快开发效率。 引用中给出了在使用Vue 3时可能遇到的一些问题和解决方法,比如在使用插件时需要禁用Vetur并安装Vue Language Features (Volar)插件,以及解决找不到模块或其相应类型声明的问题。 引用中给出了一个示例的vite.config.ts配置文件,这个文件可以用来配置Vite项目,包括设置路径别名等。 希望以上信息对你创建Vue 3 Vite项目有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值