未捕获的错误:名为[tag-name]的组件从未注册

更新11 / 15-12:04PM:

正如@Adrian Roworth指出的那样。该标签需要先注册:

riot.register('app',App);

然后可以将其安装:

riot.mount('app',{
    message: "hello!"
})

原始问题

过去,我将riot.js(v3)用于一些原型。为了方便起见,我还使用了浏览器内编译器。现在,我正在尝试进入生产流程,该流程涉及最新的riot.js版本(v4),webpack和npm。但是我以前的方法停止了工作,因此我无法在网上找到任何有用的材料。

这是我的代码:

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>

  <body>
    <app></app>   

  </body>
</html>

index.js

import './styles/main.scss'
import * as riot from 'riot'  
import App from './tags/app.tag'


riot.mount('app',{
    message: "hello!"
})

app.tag

<app>
  <h1>{ props.message }</h1>
</app>

Chrome控制台出现错误消息:

riot.esm.js:1790 Uncaught Error: The component named "app" was never registered
    at panic (riot.esm.js:1790)
    at mountComponent (riot.esm.js:2351)
    at eval (riot.esm.js:2435)
    at Array.map (<anonymous>)
    at Module.mount (riot.esm.js:2435)
    at eval (index.js:12)
    at Module../src/index.js (main.bundle.js:504)
    at __webpack_require__ (main.bundle.js:20)
    at eval (webpack:///multi_(:8080/webpack)-dev-server/client?:2:18)
    at Object.0 (main.bundle.js:538)
HUAZAI520520 回答:未捕获的错误:名为[tag-name]的组件从未注册

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3093881.html

大家都在问