Svelte

如何使用

Rspack 提供两种方案来支持 Svelte:

  • 使用 Rsbuild:Rsbuild 提供对 Svelte 开箱即用的支持,能够快速创建一个 Svelte 项目,详见 Rsbuild - Svelte
  • 手动配置 Rspack:你可以参考当前文档,手动添加 Svelte 相关的配置。

配置 svelte-loader

得益于 Rspack 对 svelte-loader 的良好兼容,在 Rspack 里使用 Svelte 是非常简单的。只需要配置好 svelte-loader 即可。 Rspack 提供了一个 Svelte 的例子可供参考。

rspack.config.js

  1. const path = require('path');
  2. /** @type {import('@rspack/cli').Configuration} */
  3. const config = {
  4. context: __dirname,
  5. entry: {
  6. main: './src/main.ts',
  7. },
  8. resolve: {
  9. alias: {
  10. svelte: path.dirname(require.resolve('svelte/package.json')),
  11. },
  12. extensions: ['.mjs', '.js', '.ts', '.svelte'],
  13. mainFields: ['svelte', 'browser', 'module', 'main'],
  14. },
  15. module: {
  16. rules: [
  17. {
  18. test: /\.svelte$/,
  19. use: [
  20. {
  21. loader: 'svelte-loader',
  22. options: {
  23. compilerOptions: {
  24. dev: !prod,
  25. },
  26. emitCss: prod,
  27. hotReload: !prod,
  28. preprocess: sveltePreprocess({ sourceMap: !prod, postcss: true }),
  29. },
  30. },
  31. ],
  32. },
  33. ],
  34. },
  35. };
  36. module.exports = config;