Javascript 未捕获错误:名为[tag name]的组件从未注册
更新时间:11/15-12:04下午: 正如@Adrian Roworth指出的那样。需要首先注册标签: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。但我的旧方法停止了工作,我无法在网上找到任何有用的资
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)