esbuild 插件集合,用于编译 Svelte 5 组件、SCSS 样式,以及 SSR 空桩替换。
.svelte 文件,支持 TypeScript 和 SCSS 预处理.scss 文件为 CSSnpm install esbuild-loader-svelte esbuild svelte --save-dev
# SCSS 支持(可选)
npm install sass --save-dev
import { sveltePlugin, scssPlugin, ssrStubPlugin } from 'esbuild-loader-svelte'
import esbuild from 'esbuild'
await esbuild.build({
entryPoints: ['src/main.ts'],
bundle: true,
outdir: 'dist',
plugins: [sveltePlugin(), scssPlugin()],
})
import { sveltePlugin } from 'esbuild-loader-svelte/svelte'
import { scssPlugin } from 'esbuild-loader-svelte/scss'
const { sveltePlugin, scssPlugin } = require('esbuild-loader-svelte')
sveltePlugin(options?)编译 .svelte 文件为 JavaScript。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
generate |
'client' | 'server' |
'client' |
编译模式 |
sassModule |
object |
自动导入 | 手动传入 sass 模块 |
filterWarnings |
(code: string) => boolean |
过滤 a11y 警告 | 返回 true 则静默该警告 |
scssPlugin(options?)编译 .scss 文件为 CSS。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
sassModule |
object |
自动导入 | 手动传入 sass 模块 |
ssrStubPlugin(stubPaths)SSR 构建时将指定路径的模块替换为空桩。
| 参数 | 类型 | 说明 |
|---|---|---|
stubPaths |
string[] |
匹配的路径片段,命中则替换为空桩 |
// 示例:SSR 构建时跳过路由和某些组件
ssrStubPlugin(['src/router', 'views/HeavyComponent'])
<!-- 暂不支持 CDN,此包为 Node.js 构建工具 -->
MIT