在书写配置文件的时候通常都是十分复杂的,需要一边查文档,一边进行书写。有时你会希望能够使用 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.js
import { defineConfig } from 'vite'
export default defineConfig({
/*...*/
})
类似的做法还有在 vue3 中,我们可以使用 defineComponet 来得到 TS 的类型提示。defineConfig
存在于运行时中,所以即使在 JS 文件中类型遭到了缩减也可以正常使用。