我有一个使用Relay和远程GraphQL服务器的React应用程序。当我启动webpack服务器时,我让它获取最新的模式并将其提供给babel-relay-plugin。
它工作得很好....除非我进行架构更改。它似乎是React或Relay或webpack或其他东西正在缓存模式,因为我在运行应用程序时会在浏览器控制台中收到Schema验证错误。但是,当我使用GraphIQL手动对GraphQL服务器运行查询时,查询成功。所以它必须是我正在考虑的反应,中继,webpack方面的某种缓存?
我尝试过的事情:
node_modules
和npm install
提前感谢您的帮助。
答案 0 :(得分:5)
事实证明,这是人为错误。我在babel-loader查询中将cacheDirectory设置为class A{
private:
int * a;
int * b;
private:
A(){
a = new int[100];
b = new int(100);
}
~A(){
delete [] a;
delete b;
}
}
。您可以在babel-loader自述文件中阅读它(只需在页面上找到'cacheDirectory')https://github.com/babel/babel-loader
我将其更改为true
,这是默认设置。问题消失了。希望能帮助他人。
答案 1 :(得分:3)
当我切换到Webpack 2时发生了这种情况。
我的解决方案是将babelRelayPlugin
移动为.babelrc
中要执行的第一个插件。
我不确定原因。