I'm using the Svelkit project.When importing modules from Sveltkit, path aliases such as $lib and $env are often used.
However, when using a separate vite plugin that is not included within the Sveltkit project, I would like to use an alias such as $env or $lib used in the Sveltkit when importing environment variables or js files.
Below is what I tried, but it doesn't work.
What am I doing wrong?
vite.config.js
import { sveltekit } from '@sveltejs/kit/vite';import { defineConfig } from 'vite';import path from 'path';import socketHandler from './src/lib/server/socketHandler/socketHandler.js';const webSocketServer = { name: 'webSocketServer', configureServer(server) { if (!server.httpServer) return; socketHandler(server.httpServer); }}export default defineConfig({ plugins: [sveltekit() , webSocketServer()], resolve: { alias: {'$lib': path.resolve(__dirname, './src/lib'),'$env': path.resolve(__dirname, '.'), }, },});
socketHandler.js
import { Server } from 'socket.io';import login from '$lib/login.js';import {DB_PASSWORD} from '$env/static/private';import disconnect from '$lib/disconnect.js';// other imports...global.userCode = {};export default function socketHandler(server) { const db_pass=DB_PASSWORD; const io = new Server(server); const onConnection = (socket) => { reconnect(io, socket); disconnect(io, socket); login(io, socket); orderRequest(io, socket); // ... } io.on("connection", onConnection);}
npm run dev
failed to load config from C:\home\lcare_renewal\vite.config.jserror when starting dev server:Error [ERR_MODULE_NOT_FOUND]: Cannot find package '$lib' imported from C:\home\lcare_renewal\vite.config.js.timestamp-1727503166699-f59eaa69482cd.mjs at new NodeError (node:internal/errors:405:5) at packageResolve (node:internal/modules/esm/resolve:890:9) at moduleResolve (node:internal/modules/esm/resolve:939:20) at defaultResolve (node:internal/modules/esm/resolve:1132:11) at nextResolve (node:internal/modules/esm/loader:163:28) at ESMLoader.resolve (node:internal/modules/esm/loader:835:30) at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18) at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40) at link (node:internal/modules/esm/module_job:76:36)