跳至主要内容

旧版

svelte/register

在 GitHub 上编辑此页面

此 API 已在 Svelte 4 中移除。require 钩子已弃用,当前的 Node 版本理解 ESM。使用 Vite 等捆绑器或我们的全栈框架 SvelteKit 来从 Svelte 组件创建 JavaScript 模块。

要在不捆绑的情况下在 Node.js 中渲染 Svelte 组件,请使用 require('svelte/register')。之后,你可以使用 require 来包含任何 .svelte 文件。

ts
require('svelte/register');
const App = require('./App.svelte').default;
// ...
const { html, css, head } = App.render({ answer: 42 });

.default 是必要的,因为我们正在从原生 JavaScript 模块转换为 Node 识别的 CommonJS 模块。请注意,如果你的组件导入 JavaScript 模块,它们将无法在 Node 中加载,你需要改用捆绑器。

要设置编译选项或使用自定义文件扩展名,请将 register 钩子作为函数调用

ts
require('svelte/register')({
extensions: ['.customextension'], // defaults to ['.html', '.svelte']
preserveComments: true
});
下一个