此 API 已在 Svelte 4 中移除。
require钩子已弃用,当前的 Node 版本理解 ESM。使用 Vite 等捆绑器或我们的全栈框架 SvelteKit 来从 Svelte 组件创建 JavaScript 模块。
要在不捆绑的情况下在 Node.js 中渲染 Svelte 组件,请使用 require('svelte/register')。之后,你可以使用 require 来包含任何 .svelte 文件。
tsrequire ('svelte/register');constApp =require ('./App.svelte').default ;// ...const {html ,css ,head } =App .render ({answer : 42 });
.default是必要的,因为我们正在从原生 JavaScript 模块转换为 Node 识别的 CommonJS 模块。请注意,如果你的组件导入 JavaScript 模块,它们将无法在 Node 中加载,你需要改用捆绑器。
要设置编译选项或使用自定义文件扩展名,请将 register 钩子作为函数调用
tsrequire ('svelte/register')({extensions : ['.customextension'], // defaults to ['.html', '.svelte']preserveComments : true});