Skip to main content

旧版

svelte/register

该 API 在 Svelte 4 中已被删除。 require 钩子已弃用,当前 Node 版本支持 ESM。 使用 Vite 或我们的全栈框架 SvelteKit 之类的打包器来从 Svelte 组件创建 JavaScript 模块。

要在 Node.js 中渲染 Svelte 组件而不打包,请使用 require('svelte/register')。 之后,你可以使用 require 包含任何 .svelte 文件。

To render Svelte components in Node.js without bundling, use require('svelte/register'). After that, you can use require to include any .svelte file.

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

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

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

To set compile options, or to use a custom file extension, call the register hook as a function:

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