简单的问题:我有一个基于 React 和 webpack 的 SPA。 对于index.js
,以下代码:
console.log (`index.js`)
生成白屏和控制台日志:D
以下代码:
console.log (`index.js`)
import App from 'containers/app'
import React from 'react'
import {render} from 'react-dom'
render(
<App/>,
document.getElementById (`app`)
)
生成单个控制台日志:
Uncaught Invariant Violation: Invalid hook call bla bla bla
好的,我得到我有一个钩子错误,但是如果错误消耗整个控制台,我该如何控制台日志调试它?我什至尝试将Chrome的控制台设置设置为保留日志。
更重要的是,这怎么可能?即使App
是一些异步函数,console.log
肯定应该先运行吗?
谢谢!
ES6 进口被吊装。这就是产生意想不到的结果的原因。好消息是它们是按顺序执行的。因此,我将进行深度优先搜索以找到问题:P
PS:这依赖于检查 Babel 输出,但只要 babel 没有错误,也应该适用于真正的 ES6。
PS2:我尝试了 4 个不同的 Babel 插件,可以将imports
转换为require's
,以使此过程更容易一些,它们都没有维护或工作(以防这为某人节省宝贵的时间(