在书写配置文件的时候通常都是十分复杂的,需要一边查文档,一边进行书写。有时你会希望能够使用 TS 的类型检查来助力。直接将 xxx.config.js 文件改为 xxx.config.ts 通常不是一个好的选择,你需要用代码转换工具将其转为对应的 js 文件。幸运的是,TS 也支持在 JS 中使用 JSDoc 来进行类型检查。例如:
// webpack.config.js// @ts-check/*** @type {import('webpack').Configuration}*/const config = {/*...*/}module.exports = config
这样的话,在你书写过程中就会出现自动的代码提示。
还有更为便捷的方式,在 vite 中,你可以这样做:
// vite.config.jsimport { defineConfig } from 'vite'export default defineConfig({/*...*/})
类似的做法还有在 vue3 中,我们可以使用 defineComponet 来得到 TS 的类型提示。defineConfig 存在于运行时中,所以即使在 JS 文件中类型遭到了缩减也可以正常使用。
