文章目录
- 系列全集
- package.json
- 在根目录创建 `tsconfig.json` 文件
- 在根目录创建 `vite.config.ts` 文件
- index.html
- 额外的类型声明
系列全集
(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": {}
}
需要安装typescript
和 vite-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
时被类型注入