全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-23 5 分钟 ✍️ juanwangdev

解析选项与扩展名

Vite 支持配置模块扩展名解析顺序,简化导入语句中的文件后缀。

extensions 配置

JavaScript
export default defineConfig({
  resolve: {
    extensions: ['.js', '.ts', '.jsx', '.tsx', '.vue', '.json']
  }
})

默认扩展名

扩展名说明
.jsJavaScript
.tsTypeScript
.jsxReact JSX
.tsxReact TypeScript
.vueVue 单文件组件
.jsonJSON 文件

注意:默认配置已包含常用扩展名,无需显式配置。

简化导入

JavaScript
// 原导入(带扩展名)
import Component from './Component.vue'
import utils from './utils.ts'
import data from './data.json'

// 简化导入(省略扩展名)
import Component from './Component'
import utils from './utils'
import data from './data'

自定义扩展名顺序

JavaScript
export default defineConfig({
  resolve: {
    // 解析顺序影响同名文件匹配
    extensions: ['.tsx', '.ts', '.jsx', '.js', '.vue']
  }
})

同名文件时按顺序解析,优先匹配排在前面的扩展名。

添加自定义扩展名

JavaScript
export default defineConfig({
  resolve: {
    extensions: [
      '.js', '.ts', '.jsx', '.tsx', '.vue',
      '.mjs', '.mts'  // 添加 ES 模块扩展名
    ]
  }
})

mainFields 配置

JavaScript
export default defineConfig({
  resolve: {
    // 包入口字段解析顺序
    mainFields: ['module', 'jsnext:main', 'browser', 'main']
  }
})
字段说明
moduleESM 入口
jsnext:mainESM 备用入口
browser浏览器入口
mainCommonJS 入口

要点总结

  • extensions 配置扩展名解析顺序
  • 默认包含常用扩展名
  • 简化导入省略文件后缀
  • 同名文件按顺序优先匹配

📝 发现内容有误?点击此处直接编辑

← 上一篇 条件配置与异步配置
下一篇 → 配置依赖与热更新
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库