likes
comments
collection
share

从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

作者站长头像
站长
· 阅读数 16

前言

VsCode安装相关插件

  • Vue Language Features(Volar)
    • .vue 文件进行实时的类型错误反馈;
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
  • TypeScript Vue Plugin(Volar)
    • 支持在 TS 中 导入 .vue文件 (import *.vue);
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
    • 如果不安装或禁用该插件,就是这样的:
      • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

vue-tsc介绍

  • vue-tsc
    • 这个工具是在创建项目时自带的,负责打包时最终的类型检查;
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
    • 先执行 vue-tsc,再进行打包;
      • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

一、创建项目

1.1、✅ 方式一: npm init vue@latest

  • 命令npm init vue@latest 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
  • 按照最后的指令打开项目文件夹、安装依赖、启动项目即可,你也可以在启动项目之前运行npm run format使用Prettier对src下面的文件格式修复;
    • 只会对 src 下面的文件进行格式修复;
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

1.2、❌ 方式二: npm create vite@latest 项目名称 -- --template vue-ts

  • 创建项目的命令:
    • npm ctarte vite@latest 项目名称 -- --template vue-ts
  • 说明:
    • npm create vite@latest
      • 基于最新版本的 vite 进行项目的创建;
    • -- --template vue-ts
      • 选择 Vue + TS 的开发模板;
  • 最后按照提示命令进入项目,安装依赖,启动项目即可;

1.3、方式一:pnpm create vue@latest

  • 命令pnpm create vue@latest
  • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
  • 这是 pnpm 显示的界面: 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

1.4、两种项目创建方式(方式一 + 方式二)的对比

从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

  • 方式一
    • 优点
      • 我们可以选择安装一些依赖(VueRouter、Pinia、Prettier、ESLint...),提升开发速率,像VueRouter 和 Pinia 就不用我们自己去配置了,直接使用现成的;
      • 最重要的一点就是,看图中绿色选中的部分,方式一创建的,我们可以直接去使用 @ 表示 src
        • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
    • 缺点
      • 有些文件会报红,需要我们手动去进行一些配置的修改或添加一些配置(很简单😂😂😂😂,按照 第二章 中的步骤操作即可,搞一次就能记住了);
  • 方式二
    • 缺点
      • 不能选择依赖,只能创建完成之后自己去下载;
      • 不能使用 @ 导入文件;
        • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

二、修改配置

2.1、方式一

  • 我们打开项目的时候,可能会遇到一些奇葩问题,像什么 找不到xxx模块、没有"node"模块解析策略、还有在导入文件时显示不能以.ts结尾等等;
  • 我有强迫症😂😂😂,看见文件报红就难受,所以我每次创建好项目之后,都会点进去看看 ts 文件有没有报红;
  • 一般使用 方式一 创建的文件就会有下面两种报红,按照提示修改即可;

2.1.1、 vite.config.ts文件 报 找不到xxx模块

  • 问题:
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
  • 解决方法:
    • 目标文件:tsconfig.node.json
    • 将该字段的值修改为 node 即可;
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

2.1.1、 tsconfig.app.json文件 报 没有"node" 模块解析策略xxx

模块解析策略,ts默认用node的解析策略,即相对的方式导入, 可选值:node、classic

如果未指定,则 --module commonjs 默认为 node,否则默认为 classic(包括 --module 设置为 amd、system、umd、es2015、esnext 等)

Node 模块解析是 TypeScript 社区中最常用的,推荐用于大多数项目。 如果您在 TypeScript 中遇到导入和导出的解析问题,请尝试设置 moduleResolution: “node” 以查看它是否解决了问题。

  • 问题:
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
  • 解决方法:
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)

2.2、方式二

  • 文件报红展示:
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
    • “在没有 "node" 模块解析策略的情况下,无法指定选项 "-resolveJsonModule"”:
      • 将 属性值 修改为 node 即可;
  • 在修改完成之后,又会有新的报红:
    • 从 0~1 创建 Vue3 + TS + Vite 项目(两个必装的插件 + 两种项目创建方式 + 项目创建完毕之后的文件报红)
    • 原因:
      • 该选项用于控制是否允许在 import 语句中导入 .ts 文件扩展名,它的取值可以是 truefalse。但是,从 TypeScript 3.8 开始,这个选项已经被废弃了;
    • 解决方法:
      • 删除该配置项即可;

2.3、创建项目完毕之后,删除多余的文件,配置文件报红

  • 在我们创建项目完成之后,要些自己的页面,所以一些原项目带的文件我们就不需要了,比如HelloWord.vue、AboutView.vue等等,但是在我们将这些多余的文件删除,有可能会在 tsconfig.app.json 中报红:

    找不到文件“d:/Table top/vue-ts-pro-2/src/components/HelloWorld.vue”。程序包含该文件是因为: 通过在 "d:/Table top/vue-ts-pro-2/tsconfig.app.json" 中的包含模式 "src/**/*" 匹配

  • 解决方法:
    • 关闭编译器,重新打开项目应该就可以了哈,我的就是重新打开之后就好了😂😂😂;