vite 搭建vue3 TS项目初始框架

目录

仓库地址:

一.搭建项目

1.安装 Vite:

 2.创建 Vue 3 项目:

 3.进入项目目录:

4.安装依赖:

 5.运行项目:

6.流程实操

二.修改项目结构,显示自定义的页面

1.整理静态样式文件

1.1.在 src/assets 文件下新建两个文件夹分别存放后续相关图片和样式,images,style

1.2.将style.css移入新建的style文件中,修改main.ts 的引入

2.修改vite.config.ts 文件,使用@ 代替/src

3.创建 view 文件夹,存放后续相关页面文件

3.1.创建自定义的首页

3.2.修改显示路径,将 home 在 App.vue页面引入(目前还没有添加router路由模块)

3.3.修改tsconfig.json 文件

三.后续相关模块添加

1.element plus 组件库以及图标添加

2.router 路由模块添加

3.添加layout 布局

4.一些富文本框添加使用


仓库地址:

gitee:vue3-TS-model: 用于从零搭建模板使用 (gitee.com)

github:Cong0925/vue3-ts-model: 从零搭建vue3 TS项目模板 (github.com)

一.搭建项目

1.安装 Vite:

使用 npm 或 yarn 全局安装 Vite。

# 使用 npm
npm install -g create-vite

 2.创建 Vue 3 项目:

准备一个空文件夹,执行以下命令

运行以下命令创建一个新的 Vue 3 项目。

create-vite your-project-name --template vue-ts

请将 your-project-name 替换为你的项目名称。--template vue-ts 表示使用 Vue 3 和 TypeScript 模板。

 3.进入项目目录:

cd your-project-name

4.安装依赖:

npm install

 5.运行项目:

npm run dev

这将启动开发服务器,你可以在浏览器中访问 http://localhost:端口号 查看你的应用。

6.流程实操

二.修改项目结构,显示自定义的页面

1.整理静态样式文件

1.1.在 src/assets 文件下新建两个文件夹分别存放后续相关图片和样式,images,style

1.2.将style.css移入新建的style文件中,修改main.ts 的引入

2.修改vite.config.ts 文件,使用@ 代替/src

相关代码

安装path的依赖

我们使用的是vite搭建,所以使用npm管理

npm install --save-dev @types/node

或者(不推荐使用)

yarn add --dev @types/node
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

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

3.创建 view 文件夹,存放后续相关页面文件

3.1.创建自定义的首页

后续大概结构如下,home作为首页,如果还有其他功能页面如新闻页,通知页等,都可以类似,文件夹是功能的名字,下面第一个文件是index.vue作为入口,然后,相关的其他可以拆散的功能都放到components文件夹下。

3.2.修改显示路径,将 home 在 App.vue页面引入(目前还没有添加router路由模块)

修改如下,

<template>
  <Home></Home>
</template>

<script setup lang="ts">
    import Home from '@/views/home/index.vue'
</script>

<style >

</style>

如果此时出现如下红线,但是,运行项目可以正常显示

3.3.修改tsconfig.json 文件

应该要修改tsconfig.json 文件,添加我们前面修改的映射,可以添加如下

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

也可以直接使用如下

{
  "compilerOptions": {
    // TypeScript 类型声明文件,包含 Node.js 类型
    "types": ["node"],
    // 目标 ECMAScript 版本
    "target": "ES2020",
    // 启用类字段定义
    "useDefineForClassFields": true,
    // 模块类型
    "module": "ESNext",
    // 编译时可用的库
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    // 跳过声明文件的类型检查
    "skipLibCheck": true,

    /* Bundler mode(打包器模式) */
    // 模块解析策略(在 bundler 模式下使用)
    "moduleResolution": "bundler",
    // 允许导入 TypeScript 文件时省略后缀
    "allowImportingTsExtensions": true,
    // 允许导入 JSON 文件作为模块
    "resolveJsonModule": true,
    // 将每个文件视为独立的模块
    "isolatedModules": true,
    // 不生成输出文件
    "noEmit": true,
    // 保留 JSX 代码
    "jsx": "preserve",

    /* Linting(代码检查) */
    // 开启所有严格类型检查选项
    "strict": true,
    // 报告未使用的局部变量
    "noUnusedLocals": true,
    // 报告未使用的函数参数
    "noUnusedParameters": true,
    // 报告在 switch 语句中的 case 语句贯穿
    "noFallthroughCasesInSwitch": true,

    // 基准 URL,用于解析非相对模块名称
    "baseUrl": ".",
    // 路径映射,用于将导入路径映射到基准 URL 下的特定路径
    "paths": {
      "@/*": [
        "src/*"
      ],
      "element-plus/*": ["node_modules/element-plus/*"]
    }
  },
  // 需要进行编译的文件路径模式
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
  ],
  // 引用其他 TypeScript 配置文件的路径
  "references": [
    {
      "path": "./tsconfig.node.json"
    }
  ]
}

此时,项目的大概框架就已经完成,可以根据自己的需求进行页面的初步尝试。 

三.后续相关模块添加

1.element plus 组件库以及图标添加

地址:vue3+TS 项目引入element plus 组件库,图标库 使用-CSDN博客

2.router 路由模块添加

 地址:vue3 +TS 安装使用router路由模块-CSDN博客

3.添加layout 布局

地址:vue3+TS 项目layout布局设置(夹杂了登录功能的代码)-CSDN博客

4.一些富文本框添加使用

地址:vue3 +TS 富文本框引入使用(vditor,tinymce)-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从大到小输出三个数

写代码将三个整数数按从大到小输出。 例如&#xff1a; 输入&#xff1a;2 3 1 输出&#xff1a;3 2 1 #include <stdio.h> int main() {int a 2;int b 3;int c 1;scanf("%d%d%d",&a, &b,&c);//我们设定a最大&#xff0c;c最小if(a<b){…

用google colab t4部署phi2(公网可访问)

目录 1.打开google colab&#xff0c;配置GPU 2.ngrok获取authtoken 3.安装所需的包​编辑 4.运行推理服务&#xff0c;生成公网地址 5.client.py访问上述推理服务 6.gradio界面版 1.打开google colab&#xff0c;配置GPU 2.ngrok获取authtoken https://dashboard.ngrok…

小程序环境搭建

文章目录 小程序介绍开发环境准备注册账号获取APPID开发⼯具 第⼀个微信⼩程序打开微信开发者⼯具新建⼩程序项⽬填写项⽬信息成功 微信开发者⼯具介绍⼩程序结构⽬录⼩程序⽂件结构和传统web对⽐ ⼩程序配置⽂件全局配置 app.json页面配置sitemap 配置-了解即可 小程序介绍 开…

Centos7下升级gcc/g++版本(简单 + 避坑)

在 Centos7 下&#xff0c;使用 yum 安装高版本的 gcc/g 最简单&#xff1a; yum -y install centos-release-scl yum -y install devtoolset-11-gcc devtoolset-11-gcc-c devtoolset-11-binutils需要安装哪个个版本的gcc/g&#xff0c;就把数字替换成对应的版本号。例如上面代…

A借助AI工具提升电子邮件营销内容效果

随着互联网的普及和电子邮件的广泛应用&#xff0c;邮件营销已成为企业推广产品和服务的重要手段之一。为了提高邮件营销的效果&#xff0c;我们需要关注邮件内容的质量和吸引力。而百度文言一心等AI工具作为一款强大的在线写作工具&#xff0c;可以帮助我们提升邮件营销内容的…

MySQL运维实战(3.2) 常见数据库连接失败问题排查

作者&#xff1a;俊达 我们经常会遇到一些数据库连接失败或访问报错的问题。收集并分析具体的报错信息&#xff0c;可以帮助我们迅速定位问题。 1、客户端到服务端的网络是否畅通&#xff0c;服务端端口是否能连通。 使用ping、telnet等工具探测服务端的端口是否能访问。 […

C语言分支和循环语句

分支和循环语句 学习内容 分支语句 if switch 循环语句 while for do while goto语句 1. 什么是语句&#xff1f; C语句可分为以下五类&#xff1a; 表达式语句 函数调用语句 控制语句 复合语句 空语句 本次介绍的是控制语句。 控制语句用于控制程序的执行流程&a…

Android14之刷机模式总结(一百七十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Spring之启动过程源码

文章目录 一. Spring初始化流程二. 源码分析1. 初步分析2. 核心方法refresh() 三. 事件发布机制1. 简介2. 源码分析 一. Spring初始化流程 前面的内容我们已经把Bean的生命周期的源码已经分析完了。现在我们从容器的角度去分析源码&#xff0c;这一部分首先着重分析一下Spring…

CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞

一、背景介绍 ProxyCommand 是 OpenSSH ssh_config 文件中的一个配置选项&#xff0c;它允许通过代理服务器建立 SSH 连接&#xff0c;从而在没有直接网络访问权限的情况下访问目标服务器。这对于需要经过跳板机、堡垒机或代理服务器才能访问的目标主机非常有用。 二、漏洞简…

2024第十六届数字图像处理国际会议(ICDIP 2024) 即将召开!

第十六届数字图像处理国际会议&#xff08;ICDIP 2024&#xff09;将于2024年5月24-26日在中国海口召开。本次会议由海南大学主办&#xff0c;海南大学计算机科学与技术学院承办。ICDIP自2009年开办以来&#xff0c;已先后在新加坡、日本、中国、马来西亚理科大学等国家成功举办…

【动态规划】C++算法:403.青蛙过河

作者推荐 【动态规划】C算法312 戳气球 LeetCode:403 青蛙过河 一只青蛙想要过河。 假定河流被等分为若干个单元格&#xff0c;并且在每一个单元格内都有可能放有一块石子&#xff08;也有可能没有&#xff09;。 青蛙可以跳上石子&#xff0c;但是不可以跳入水中。 给你石子…

C++ Web框架Drogon初体验笔记

这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的&#xff0c;但是难点在于编译项目上面&#xff0c;所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件&#xff0c;src放的是视图文件&#xff0c;static放的是…

机器人技能学习-robosuite-0-入门介绍

文章目录 前言模块介绍实战案例1&#xff1a;从 demo 中创建自己的 env案例2&#xff1a;更换属于自己的物体 前言 资料太少、资料太少、资料太少&#xff0c;重要的事说三边&#xff0c;想根据自己实际场景自定义下机器人&#xff0c;结果发现无路可走&#xff0c;鉴于缺少参…

【unity小技巧】FPS游戏实现相机的偏移震动、武器射击后退和后坐力效果

最终效果 文章目录 最终效果前言相机偏移震动相机震动脚本换弹节点震动 武器射击后退效果武器后坐力效果完结 前言 关于后坐力之前其实已经分享了一个&#xff1a;FPS游戏后坐力制作思路 但是实现起来比较复杂&#xff0c;如果你只是想要简单的实现&#xff0c;可以看看这个&…

类与对象中篇

前言 在上篇我们讲解了类与对象的基础框架&#xff0c;中篇我们将讲解类与对象的基本内容&#xff0c;即类的六个默认成员函数。 一、类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 问题&#xff1a; 空类中真的什么都没有吗&#xff1f; 答案是&a…

软件测试必会:cookie、session和token的区别

今天就来说说session、cookie、token这三者之间的关系&#xff01;最近这仨玩意搞得头有点大&#x1f923; 01、为什么会有它们三个 我们都知道 HTTP 协议是无状态的&#xff0c;所谓的无状态就是客户端每次想要与服务端通信&#xff0c;都必须重新与服务端链接&#xff0c;意…

【YOLO系列】 YOLOv4之Mish函数

一、简述 一个新的state of the art的激活函数&#xff0c;ReLU的继任者。 Diganta Misra在 “Mish: A Self Regularized Non-Monotonic Neural Activation Function”论文中介绍了Mish这个新的深度学习激活函数&#xff0c;指出该函数在准确度上比Swish&#xff08;0.494%&…

资深大佬养成之路:Java中关于List集合选择与使用

目录 1、前言 2、List集合的概念和作用 2.1 什么是List集合 2.2 List集合的作用 2.3 List集合的特点 3、ArrayList和LinkedList的区别 3.1 ArrayList的特点和适用场景 3.2 LinkedList的特点和适用场景 3.3 如何选择ArrayList还是LinkedList 4、List集合的常用操作 4…

Java IO学习和总结(超详细)

一、理解 I/O 是输入和输出的简写&#xff0c;指的是数据在计算机内部和外部设备之间的流动。简单来说&#xff0c;当你从键盘输入数据、从鼠标选择操作&#xff0c;或者在屏幕上看到图像&#xff0c;这些都是 I/O 操作。它就像是计算机与外部世界沟通的桥梁&#xff0c;没有 I…