未捕获(承诺中)TypeError:新 SvelteElement (index.mjs:1381) 的非法构造函数



使用最新的注册自定义元素时未捕获的承诺 使用以下方法的工兵、苗条、nodeJS 和汇总堆栈 语句。

REPL 示例:本地创建的 https://svelte.dev/repl/489ee8acd10848b0bb1feb2535bd6cc5?version=3.16.5

<svelte:options tag="parlax-background" />
& rollup.config.js
export default {
client: {
input: config.client.input(),
output: config.client.output(),
plugins: [
replace({...})
svelte({
dev: !production,
customElement: true,
// and tried also with customElement: { tag: "my-element"}
hydratable: true,
emitCss: true

我想提一下,我已经在一个新项目上进行了测试

原木

[Client Side]
=> Uncaught (in promise) TypeError: Illegal constructor
at new SvelteElement (index.mjs:1381)
[Server Side]
=> The 'tag' option is used when generating a custom element. Did you forget the 'customElement: true' compile option?
44: <svelte:options tag="my-element" />

1. 当我在配置中注册 [ **customElement: true] 时,我得到**

2. 如果我没有在配置中注册我的元素,我不会收到任何错误,但我的元素也没有注册:(

参考:https://github.com/sveltejs/svelte/issues/4132

如引用的 GitHub 问题中所述,使用customElements: true配置 Svelte 编译器后,您需要为所有组件提供一个元素标记(使用<svelte:options tag="my-component"/>

在您的 REPL 示例中,这意味着更新App.svelte例如<svelte:options tag="my-app"/>

现在运行应用时,不应再在控制台中看到错误,而是在工作应用中看到错误。

相关内容

  • 没有找到相关文章

最新更新