vite.config.ts
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig, type ViteDevServer } from 'vite';
const xServer = {
name: 'xServer',
async configureServer(server: ViteDevServer) {
const { doX } = await import('./src/lib/x');
doX(server)
}
}
export default defineConfig({
plugins: [xServer, sveltekit()],
});
x.ts
import { doY } from "$lib/y";
import type { ViteDevServer } from "vite";
export async function doX(devServer: ViteDevServer) {
doY()
...
}
错误:
错误 [ERR_MODULE_NOT_FOUND]:找不到从中导入的包“$lib” ...vite.config.ts
您可能建议添加到配置中:
resolve: {
alias: {
'$lib': path.join(__dirname, 'src/lib'),
},
}
但它不会影响插件(默认通过 sveltekit 控制)。
我还阅读了this,这是关于这个问题的,但是它不起作用,并且文章中包含代码错误。
好吧,我已经花了足够的时间想知道这是否可能?
我认为这是不可能的,除非你本质上首先build配置,解析过程中的路径,并在Vite中使用输出。