Rollup编译Svelte项目时无法正常处理$lib路径导入该如何配置
Rollup 处理 SvelteKit
$lib 别名导入配置方案 $lib 是 SvelteKit 预设的路径别名,Rollup 默认无法识别这类自定义别名路径,需按以下步骤配置:
- 首先安装 Rollup 别名处理插件
npm install @rollup/plugin-alias --save-dev
- 修改
rollup.config.js,引入插件并配置路径映射,示例配置如下:
import alias from '@rollup/plugin-alias'; import { fileURLToPath } from 'url'; import { dirname, resolve } from 'path'; // 适配 ES 模块环境下的路径解析,如果你用 CommonJS 格式的配置文件可以省略这两行 const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); export default { // 保留你原有的 input、output 等核心配置 plugins: [ // 别名插件必须放在 svelte 插件之前加载 alias({ entries: [ { find: '$lib', // 路径对应项目中 src/lib 目录,可根据你的实际项目结构调整 replacement: resolve(__dirname, 'src/lib') } // 如果你需要适配 $app、$pages 等其他 SvelteKit 内置别名,也可以在此处追加对应条目 ] }), // 你原有配置中的 svelte 插件 svelte(), // 保留其他原有插件配置 ] }
配置完成后重新执行编译命令即可,Rollup 会自动将
$lib开头的导入路径替换为实际物理路径,正常编译对应的 Svelte 组件。
内容的提问来源于stack exchange,提问作者JuleZ
相关产品推荐
相关产品推荐

