在monorepo项目中常常涉及工程之间相互引用的问题, 这个时候在使用vite等打包工具时别名会出现冲突
通用别名设置
export default defineConfig({
plugins: [uni(), partialConfigPlugin()],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
使用uni插件时别名被插件覆盖, 主要是由于插件执行靠后,插件定义的别名entry优先级高导致
使用自定义部分设置插件可以解决
const partialConfigPlugin = () => ({
name: 'return-partial',
config: () => ({
resolve: {
alias: {
'@': customResolver,
},
},
}),
});
配置插件
export default defineConfig({
plugins: [uni(), partialConfigPlugin()],//注意自定义插件要在需要被覆盖的插件的后面执行来获得更高的匹配优先级
...