2

一般来说:

这四个系统有缓存吗?如果是这样,清除每个的方法是什么?

具体来说:

我们正在开发的反应应用程序遇到问题。在本地开发时,我们似乎偶尔会遇到以下错误:

“不变违规: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 的......

现在烦人的部分是我必须为我所有的单个组件文件执行此操作。肯定有一种方法可以清除整个应用程序的这个神秘缓存包吗?

4

0 回答 0