JS 配置
weapp-vite 默认使用 Vite 8 原生的 resolve.tsconfigPaths 读取 tsconfig.json/jsconfig.json 的 paths/baseUrl,把别名映射到 Vite / Rolldown 流程中;只有在你传入高级选项对象时,才会回退到 vite-tsconfig-paths 插件。
weapp.tsconfigPaths
- 类型:
true | TsconfigPathsOptions | false - 默认值:
undefined(按需自动启用)
启用规则:
- 当
tsconfig.json或jsconfig.json存在paths或baseUrl时,会自动启用 Vite 原生resolve.tsconfigPaths; - 传入
true时,会强制启用原生resolve.tsconfigPaths; - 传入对象时,会启用
vite-tsconfig-paths插件以支持projects、exclude等高级选项; - 传入
false可完全禁用(适合没有别名需求、追求更快启动的项目)。
推荐优先使用默认行为或 true,这样不会触发 Vite 8 对 vite-tsconfig-paths 的提示信息。
ts
import { defineConfig } from 'weapp-vite/config'
export default defineConfig({
weapp: {
tsconfigPaths: true,
},
})ts
import { defineConfig } from 'weapp-vite/config'
import type { PluginOptions } from 'vite-tsconfig-paths'
const tsconfigOptions: PluginOptions = {
projects: ['./tsconfig.base.json'],
extensions: ['.ts', '.js', '.vue'],
exclude: ['**/__tests__/**'],
}
export default defineConfig({
weapp: {
tsconfigPaths: tsconfigOptions,
},
})与 resolve.alias 的关系
weapp.tsconfigPaths/resolve.tsconfigPaths负责把 tsconfig 的 paths/baseUrl 转成 Vite alias。- 你仍然可以在
resolve.alias中补充或覆盖特定映射,两者可共存。
ts
export default defineConfig({
resolve: {
alias: {
'@shared': '/packages/shared/src',
},
},
weapp: {
tsconfigPaths: {
projects: ['./tsconfig.base.json'],
},
},
})常见问题
- 修改
paths没生效? 需要重启pnpm dev,并确认 tsconfig 在projects列表内。 - JSON 别名怎么配? JSON 使用
weapp.jsonAlias(见 JSON 配置),与 JS/TS 别名相互独立。
weapp.ast
- 类型:
{ engine?: 'babel' | 'oxc' } - 默认值:
{ engine: 'babel' }
weapp.ast 用来控制部分“静态分析链路”优先使用哪套 AST 引擎,例如:
- 组件 props 元数据提取
usingComponents/ 自动导入相关分析setData.pick模板 key 收集- 一部分平台 API / require 快速判定
ts
import { defineConfig } from 'weapp-vite/config'
export default defineConfig({
weapp: {
ast: {
engine: 'oxc',
},
},
})使用建议:
- 默认保持
babel即可,兼容性最稳。 - 当你明确想在“分析链路”上尝试更快的解析实现时,再切到
oxc。 - 这不是“所有编译流程全部切换引擎”的总开关,而是给已接入 AST 抽象层的分析能力提供统一入口。
更多 alias 实战与疑难排查,请参考 路径别名指南。