@yingzhixiaoyi/vite-config
v0.1.0
Published
Shared Vue Vite build configuration
Readme
@yingzhixiaoyi/vite-config
Vue/Vite 项目的共享构建配置。
使用
import { createBaseConfig } from '@yingzhixiaoyi/vite-config'
export default createBaseConfig({ title: 'Wallet', proxy: { '/api': 'http://127.0.0.1:8080' } })本包只在 Vite 配置阶段运行,以 ESM 配置源码和类型声明发布,不生成浏览器 IIFE。为兼容 Wujie 主子应用开发加载,开发服务器 CORS 默认开启;可显式设置 enableCors: false 关闭。业务项目可通过 customPlugins、proxy 和 noSplitChunks 扩展。
Vue 生态单例(link @yingzhixiaoyi/*)
本地 link: 接入 @yingzhixiaoyi/* 时,消费方与 justin-packages 工作区可能各自解析到一份 vue / pinia / vue-router / vue-i18n。生产 manualChunks 会把两份打进同名 chunk,injection Symbol 分裂,典型报错:
- pinia:
Cannot read properties of undefined (reading '_s') - vue-router:
useRoute()为空后再读meta
createBaseConfig 已内建:
resolve.alias+resolve.dedupe(从消费方process.cwd()解析)- 插件
justin-vue-ecosystem-singleton(即使业务覆盖顶层resolve,仍通过插件config钩子合并)
业务项目一般不必再为上述包手写 alias;只需保留自己的 @ 等别名,并合并基线 resolve:
const base = createBaseConfig({ title: 'Figgie' })
export default defineConfig({
...base,
resolve: {
...base.resolve,
alias: { ...base.resolve?.alias, '@': fileURLToPath(new URL('./src', import.meta.url)) },
},
})发布限制:依赖 Node/Vite 配置运行时,不能作为浏览器运行时代码加载;npm 发布验证只要求 ESM、类型声明和 Vite 配置构建通过。
