(06)vite与ts的结合


在这里插入图片描述

系列全集

(01)vite 从启动服务器开始
(02)vite环境变量配置
(03)vite 处理 css
(04)vite 插件 plugins
(05)vite处理静态文件及引入

package.json

{
  "name": "vite",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "dev": "vite",
    "build": "tsc --noEmit && vite build",
    "preview": "vite preview",
    "test": "vite --mode test"
  },
  "devDependencies": {
    "typescript": "^5.4.5",
    "vite": "^5.0.0",
    "vite-plugin-checker": "^0.6.4"
  },
  "dependencies": {}
}

需要安装typescriptvite-plugin-checker

另外 build 命令中,新增了 tsc --noEmit 表明在打包时,如果有类型出错,不会生成打包文件,不会执行后面的 vite build 命令

在根目录创建 tsconfig.json 文件

{
    "compilerOptions": {
        "skipLibCheck": true // 跳过node——module的验证
    }
}

让 ts 在验证代码时,跳过node_module的文件

在根目录创建 vite.config.ts 文件

import {defineConfig} from 'vite';
import checker from 'vite-plugin-checker';

export default defineConfig({
    plugins: [
        checker({
            typescript: true,
        })
    ]
});

通过 vite-plugin-checker 中的 checker ,来与vite结合。

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

<script src="./src/main.ts" type="module"></script>

引入main.ts文件而不是js文件

额外的类型声明

在开发中,可能还需要声明更多的类型与vite结合
在根目录下创建 vite-env.d.ts文件进行声明

interface ImportMetaEnv {
    readonly VITE_APP_API_URL: string;
    readonly VITE_APP_API_KEY: string;
}

ImportMetaEnv 会被vite引入,并在获取vite的env.meta.xxx时被类型注入

在这里插入图片描述

相关推荐

  1. Vue3.0+vite vite.config.ts配置env

    2024-04-30 17:32:01       18 阅读
  2. vite+ts——user.ts——ts接口定义+axios请求写法

    2024-04-30 17:32:01       32 阅读
  3. vue3+vite+ts父子组件之间传值

    2024-04-30 17:32:01       46 阅读
  4. vue3 + ts + vite 支持低版本浏览器

    2024-04-30 17:32:01       18 阅读
  5. webpack vite区别

    2024-04-30 17:32:01       18 阅读
  6. 配置Vite+React+TS项目

    2024-04-30 17:32:01       26 阅读
  7. ViteVue 3SSR实践

    2024-04-30 17:32:01       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 17:32:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 17:32:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 17:32:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 17:32:01       20 阅读

热门阅读

  1. 【JDBC】数据库连接池

    2024-04-30 17:32:01       12 阅读
  2. Unity Android(十) 适配Android14系统

    2024-04-30 17:32:01       12 阅读
  3. C# 请求第三方API

    2024-04-30 17:32:01       12 阅读
  4. 区块链技术的应用场景和优势

    2024-04-30 17:32:01       13 阅读
  5. C语言题目

    2024-04-30 17:32:01       11 阅读
  6. 动态规划:0/1背包问题

    2024-04-30 17:32:01       14 阅读
  7. MySql 前缀索引

    2024-04-30 17:32:01       15 阅读
  8. leetcode热题HOT 287. 寻找重复数

    2024-04-30 17:32:01       34 阅读
  9. 联系Odoo partner邮件怎么写

    2024-04-30 17:32:01       37 阅读
  10. 题目 2662: 李白打酒加强版

    2024-04-30 17:32:01       15 阅读