Vite+Vue3+TS项目创建及基本环境搭建

news2024/11/24 15:01:11

1.vite项目搭建

可以按照vite官网操作:https://cn.vitejs.dev/guide/features.html#typescript

npm create vite@latest

自定义template模板

vscode-文件-首选项-配置用户代码片段-vue.json
在这里插入图片描述
添加如下代码即可快速创建vue模板

{
  "template": {
    "prefix": "vue",
    "body": [
      "<template></template>",
      "<script setup lang='ts'></script>",
      "<style scoped lang='less'></style>"
    ]
  }
}

element ui

element官网:https://element-plus.gitee.io/zh-CN/guide/design.html

npm install element-plus --save
// main.ts
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'

const app = createApp(App)

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

Volar支持,请在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。

// tsconfig.json
{
  "compilerOptions": {
    // ...
    "types": ["element-plus/global"]
  }
}

配置@别名

vite.config.ts compilerOptions 中配置如下

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

在这里插入图片描述
安装 path 和 @types/node

npm install path --save
npm install @types/node --save-dev

vite.config.ts 配置如下

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path";
// https://vitejs.dev/config/
export default defineConfig({
 resolve: {
   // 配置路径别名
   alias: {
     "@": path.resolve(__dirname, "./src"),
     "@components": path.resolve(__dirname, "./src/components"),
   },
 },
 plugins: [vue()],
});

配置路由

npm i vue-router@4

在src根目录创建router文件夹并新建两个ts文件,index.ts、router.ts
在这里插入图片描述
router.ts

const routes = [
  {
    name: "Home",
    path: "/",
    component: () => import("@/pages/Home.vue"),
  },
  {
    name: "About",
    path: "/about",
    component: () => import("@/pages/About.vue"),
  },
  {
    name: "Apple",
    path: "/apple",
    component: () => import("@/components/Apple/Apple.vue"),
  },
];
export default routes; //导出

index.ts

import { createRouter, createWebHistory } from "vue-router";
import routes from "./router";

const router = createRouter({
  history: createWebHistory(),
  routes,
});
export default router;

将vite自动创建的页面删除,并在app.vue增加router-view视图出口
app.vue

<script setup lang="ts">
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://vuejs.org/api/sfc-script-setup.html#script-setup
</script>

<template>
  <router-view></router-view>
</template>

<style scoped>
</style>

在home首页配置一个跳转的函数

<template>
  <div>home首页</div>

  <el-button type="primary" @click="toApp" plain>跳转到apple</el-button>
  <A></A>
</template>
<script setup lang="ts">
import { useRouter } from "vue-router";
import A from "../components/Apple/A.vue";
const route = useRouter();
const toApp = () => {
  route.push({ name: "Apple" });
};
</script>
<style scoped lang="less"></style>

现在就可以看到配置的路由效果了:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做好供应商关系管理,让企业采购交易更简单

大家都知道&#xff0c;企业想要采购到物美价廉的产品与服务&#xff0c;就必须做好相应的供应商管理工作。而其中供应商关系管理是采购过程中至关重要的环节&#xff0c;也是能让企业有效地与供应商之间保持良好关系&#xff0c;这不仅有利于促进采供双方共赢&#xff0c;而且…

Netty入门--传统IO与NIO详解

文章目录IO模型传统阻塞的IO模型--BIOClient端案例Server端案例NIO&#xff08;Java non-blocking IO&#xff09;非阻塞IONIO的三大组件 Channel Selector BufferBuffer&#xff08;缓冲区&#xff09;Channel&#xff08;通道&#xff09;Channe的分类&#xff0c;与Buffer的…

【Spring(六)】使用篇:AOP在开发中的使用

有关Spring的所有文章都收录于我的专栏&#xff1a;&#x1f449;Spring&#x1f448; 目录 一、前言 二、演示 三、切面类中声明通知方法 四、使用 相关文章 【Spring&#xff08;一&#xff09;】如何获取对象&#xff08;Bean&#xff09;【Spring&#xff08;一&#xff09…

刷爆力扣之数组形式的整数加法

刷爆力扣之数组形式的整数加法 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&…

Nodejs -- 一文了解Express模块

文章目录1. 初识Express1.1 Express简介1.1.1 什么是Express1.1.2 进一步理解Express1.1.3 Express能做什么1.2 Express的基本使用1.2.1 安装1.2.2 基本使用1.2.3 监听GET请求1.2.4 监听POST请求1.2.5 把内容响应给客户端1.2.6 获取URL中携带的查询参数1.2.7 获取URL中的动态参…

一文读懂TCP的三次握手(详细图解)

在学习TCP三次握手的过程前&#xff0c;首先熟悉几个缩写简称&#xff1a; TCB 传输控制块&#xff0c;打开后服务器/客户端进入监听&#xff08;LISTEN&#xff09;状态 SYNTCP报文标志位&#xff0c;该位为1时表示发起一个新连接ACKTCP报文标志位&#xff0c;该位为1时&…

傻白入门芯片设计,如何降低CPU功耗?(八)

低功耗芯片设计是本世纪以来最重要的新兴设计方法。可以说没有低功耗设计&#xff0c;就没有今天的智能手机&#xff0c;移动设备&#xff0c;物联网&#xff0c;及高性能计算等产业。随着芯片图形尺寸越来越小&#xff0c;低功耗设计在现在及未来的芯片中会起到越来越重要的作…

使用 Learner Lab - 使用 Lambda 转换图片为 base64 格式

使用 Learner Lab - 使用 Lambda 转换图片为 base64 格式 AWS Academy Learner Lab 是提供一个帐号让学生可以自行使用 AWS 的服务&#xff0c;让学生可以在 100 USD的金额下&#xff0c;自行练习所要使用的 AWS 服务&#xff0c;以下使用 使用 Lambda 转换图片为 base64 格式…

UNIAPP实战项目笔记46 订单确认页面的布局

UNIAPP实战项目笔记46 订单确认页面的布局 实际案例图片 订单页面 具体内容图片自己替换哈&#xff0c;随便找了个图片的做示例 具体位置见目录结构 完善布局页面和样式 代码 confirm-order.vue部分 confirm-order.vue 确认订单页面布局和渲染 flex 样式布局 <template>…

Uncaught TypeError: i.createPopper is not a function

“createPopper”不是我们使用引导程序时发生的函数错误 需要popper.js脚本但不在页面上加载它的组件或 在引导脚本之后加载它。要解决此错误&#xff0c;请包括引导程序 在运行 JavaScript 代码之前捆绑脚本。 这是一个工作示例&#xff0c;它加载引导捆绑包脚本来解决 错误。…

黑盒测试用例设计 - 边界值分析法

边界值的选择原则 如果输入条件规定了值的范围&#xff0c;则应取刚达到这个范围边界的值&#xff0c;以刚刚超越这个范围边界的值作为测试输入数据如果输入条件规定了值的个数&#xff0c;则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据如果程序的规…

[附源码]计算机毕业设计springboot电商小程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]计算机毕业设计Springboot大学生志愿者服务管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

《web课程设计》期末网页制作 基于HTML+CSS+JavaScript制作公司官网页面精美

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

数据被删除怎么办?4个硬盘数据恢复工具分享

日常电脑工作中&#xff0c;都会用到硬盘。但是也很容易出现各种问题&#xff0c;比如数据误删&#xff0c;或者格式化等问题。我们怎么应对这种情况&#xff1f;有没有什么硬盘数据恢复工具&#xff1f;下面给大家分享一下关于硬盘数据恢复的工具&#xff01; ​ 工具一&#…

基于PHP+MySQL图书管理系统的设计与实现

开发本图书管理系统目的是为了实现对图书馆的图书,借阅等进行科学化的管理,便于图书信息以及借阅信息的查询和安全控制,提高设备使用效率,减少维护成本。 图书管理系统实现对图书的管理和借阅管理,利用PHP及技术来实现对图书信息的控制和管理。 图书管理系统功能结构图 通过对各…

Java并发-多线程售票案例

1. 前言 本节内容主要是使用 Java 的使用 Condition 和 Lock 机制对多线程售票案例进行实现。售票案例多数情况下主要关注多线程如何安全的减少库存&#xff0c;也就是剩余的票数&#xff0c;当票数为 0 时&#xff0c;停止减少库存。 2. 售票机制模型 如下图所示&#xff0…

简单聊聊什么是react-redux,它能解决哪些问题

或许 在大多数人眼中 redux是一个相对复查很多的知识点 但确实如果你熟悉了流程 其实也比较简单的 redux是一个数据管理方案 我们先来举个例子 目前我们知道 react中有两种组件数据通信的方式 分别是 props 父传子 定义事件 子传父 通过事件将自己的数据传给父级 那如果是兄弟…

论硬件开发过程中开发文档规范化的重要性

硬件开发的标准化是公司管理过程中的重要组成部分&#xff0c;它离不开硬件开发文档的规范化&#xff0c;很多公司并不了解开发文档的重要性&#xff0c;容易将其忽视。一个项目开发完成后&#xff0c;还有着漫长的生命周期、售后维护和更新迭代&#xff0c;总结出开发文档&…

APS排程软件与ERP、MES的集成方式

ERP通常是企业第一个引入的信息系统&#xff0c;主要处理财务、订单、物料、人力资源等企业运营的基本数据&#xff0c;但ERP不能解决生产现场的问题。而要实现制造过程的精益化&#xff0c;对生产中的每个环节全面优化和监管&#xff0c;还需要其它的信息系统帮助。 ERP&#…