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

Javascript 未捕获错误:名为[tag name]的组件从未注册,javascript,npm,webpack,riot.js,Javascript,Npm,Webpack,Riot.js,更新时间:11/15-12:04下午: 正如@Adrian Roworth指出的那样。需要首先注册标签: riot.register('app',App); 然后可以安装: riot.mount('app', { message: "hello!" }) 原始问题 在过去,我对一些原型使用了riot.js(v3)。为了方便起见,我还使用了浏览器内编译器。现在,我正在尝试开发最新的riot.js版本(v4)、webpack和npm。但我的旧方法停止了工作,我无法在网上找到任何有用的资

更新时间:11/15-12:04下午:

正如@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>
应用程序标签

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

{props.message}
来自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)
riot.esm.js:1790未捕获错误:名为“app”的组件从未注册过
惊慌失措(riot.esm.js:1790)
在mountComponent(riot.esm.js:2351)
评估时(riot.esm.js:2435)
在Array.map()处
在Module.mount(riot.esm.js:2435)
评估时(索引:12)
在Module../src/index.js(main.bundle.js:504)
at\uuuu网页包需要(main.bundle.js:20)
评估时(webpack:///multi_(:8080/webpack)-开发服务器/客户端?:2:18)
在Object.0(main.bundle.js:538)

Quick Google search告诉我Riot API有一个
.register()
方法。由于此函数未被调用,错误消息看起来很强烈!你是对的!看起来他们完全改变了工作流程,这对我这样的网络呆子来说是非常令人迷惑的。谢谢我想知道是否有办法自动注册所有标签。现在我需要为每种类型的标记编写两行代码。首先,它需要
从导入应用程序./App.tag
然后
riot.register('App',App)
,然后,它需要装入--
riot.mount('App')
您是否可以拥有一个标记名数组(例如
['app','myOtherTag','foo','bar'];
然后在其中循环(例如使用
for
循环,或
.forEach()
),并调用
.register()
.mount())
循环中的函数?在我的例子中,当我忘记调用riot.inject时,会发生此错误。快速谷歌搜索显示riot API有一个
.register()
method..错误消息看起来很强烈,因为该函数没有被调用Damazing!你是对的!他们似乎完全改变了工作流程,这对我这样的网络noob来说非常令人迷惑。谢谢!!我想知道是否有办法自动注册所有标记。现在我需要为每种类型的标记编写两行代码首先它需要是
从导入App./App.tag
然后是
riot.register('App',App)
,然后它需要被装载--
riot.mount('App');
你能有一个标签名数组吗(例如
['App',myOtherTag',foo',bar'];
然后通过它循环(使用
for
循环,或
.forEach())例如,
)并调用循环中的
.register()
.mount()
函数?在我的情况下,当我忘记调用riot.inject时,会发生此错误。
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)