optimizeDeps 配置
通过 optimizeDeps 选项控制依赖预构建的范围和行为。
include 强制预构建
JavaScript
export default defineConfig({
optimizeDeps: {
include: [
'vue',
'axios',
'lodash-es',
'@vueuse/core'
]
}
})
exclude 排除预构建
JavaScript
export default defineConfig({
optimizeDeps: {
exclude: [
'my-linked-package', // 链接的本地包
'node-only-lib' // 仅 Node 端的包
}
}
})
esbuild 配置
JavaScript
export default defineConfig({
optimizeDeps: {
esbuildOptions: {
// esbuild 配置选项
target: 'es2020',
define: {
'process.env.NODE_ENV': '"development"'
}
}
}
})
配置选项
| 选项 | 说明 | |
|---|---|---|
| include | 强制预构建的依赖 | |
| exclude | 排除预构建的依赖 | |
| esbuildOptions | esbuild 编译配置 | |
| force | 强制重新预构建 | |
| noDiscovery | 禁用自动发现 |
注意:exclude 的依赖不会被预构建,可能影响开发体验。
使用场景
JavaScript
export default defineConfig({
optimizeDeps: {
// 依赖未被发现时强制预构建
include: ['my-implicit-import'],
// 本地链接包排除预构建
exclude: ['@company/internal-lib']
}
})
强制重建
JavaScript
export default defineConfig({
optimizeDeps: {
force: true // 每次启动都重新预构建
}
})
常见问题处理
JavaScript
// 依赖报错时尝试排除
export default defineConfig({
optimizeDeps: {
exclude: ['problematic-lib']
}
})
// 动态导入依赖强制预构建
export default defineConfig({
optimizeDeps: {
include: ['dynamic-import-lib']
}
})
要点总结
- include 强制预构建指定依赖
- exclude 排除依赖预构建
- esbuildOptions 配置编译选项
- force 强制每次重建
📝 发现内容有误?点击此处直接编辑