一般来说:
这四个系统有缓存吗?如果是这样,清除每个的方法是什么?
具体来说:
我们正在开发的反应应用程序遇到问题。在本地开发时,我们似乎偶尔会遇到以下错误:
“不变违规:RelayQL:运行时意外调用。未设置 Babel 转换,或者无法识别此调用站点。确保将其逐字用作“Relay.QL”。”
我还没有注意到为什么/何时开始发生这种情况的任何特定原因。
我终于找到了一个 hack 解决方案,它涉及我进入引用的组件文件(在错误消息中进一步,未显示)并删除其中的 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`
`
}
});
然后我保存并重新启动应用程序。显然,由于片段格式错误,它会崩溃。所以我撤消了对原来的更改,并再次重新启动应用程序。现在,尽管没有实际更改代码,但原始错误已修复。
所以发生了什么事?不知何故,这个过程正在刷新一些缓存?这是在 node、webpack、relay 还是 babel 中?我已经尝试在两者之间重新启动我的机器,以及killall node
,这两个都不起作用,这对我来说意味着它不是基于 RAM 的......
现在烦人的部分是我必须为我所有的单个组件文件执行此操作。肯定有一种方法可以清除整个应用程序的这个神秘缓存包吗?