这四个系统都有缓存吗?如果是这样,清除每个的方法是什么?
我们正在开发的反应应用程序出现问题。看似零星的我们在本地开发时遇到以下错误:
“不变违规:RelayQL:运行时意外调用。未设置Babel转换,或者无法识别此调用站点。请确保将其逐字用作`Relay.QL`。”
我还没有发现任何特殊原因/何时开始发生这种情况。
我终于找到了一个黑客解决方案,它涉及我进入引用的引用组件文件(进一步在错误消息中,未示出)并删除内部的RelayQL片段。
export default Relay.createContainer(PinterestShare, {
fragments: {
resource: () => Relay.QL`
fragment on Resource {
id
title
files {
type
images {
medium { url width }
}
}
}
`
}
});
到
export default Relay.createContainer(PinterestShare, {
fragments: {
resource: () => Relay.QL`
`
}
});
然后保存,然后重新启动应用。显然,它崩溃了,因为碎片是畸形的。所以我将更改撤消回原始版本,然后重新启动应用程序。现在,尽管没有代码实际发生变化,原始错误仍然是固定的。
那发生了什么?不知何故,这个过程正在刷新一些缓存?这是在节点,webpack,中继还是babel?我试过在中间重启我的机器,以及killall node
,这两个都不起作用,这对我来说意味着它不是基于RAM的......
现在讨厌的部分是我必须为我的所有个人组件文件执行此操作。当然必须有一种方法来清除整个应用程序的神秘缓存enmass?