Relay/GraphQL 当我在服务器端更新模式时,模式缓存没有更新
Relay/GraphQL Schema cache not updating when I update schema on server side
我有一个使用 Relay 的 React 应用程序和一个远程 GraphQL 服务器。当我启动 webpack 服务器时,我让它获取最新的模式并将其提供给 babel-relay-plugin。
效果很好....除非我更改架构。似乎 React 或 Relay 或 webpack 或其他东西正在缓存架构,因为当我 运行 应用程序时,我会在浏览器控制台中收到架构验证错误。但是,当我 运行 使用 GraphIQL 手动对 GraphQL 服务器进行查询时,查询成功。所以我想它必须是反应、中继、webpack 方面的某种缓存?
我尝试过的事情:
- 列表项
- 正在重启 webpack 服务器
- 删除
node_modules
和 npm install
- 我什至尝试过重新启动我的电脑(这似乎确实有效,但可能是巧合)
在此先感谢您的帮助。
当我切换到 Webpack 2 时,这发生在我身上。
我的解决方案是将 babelRelayPlugin
移动到 .babelrc
中第一个执行的插件。
虽然我不太确定为什么。
事实证明,这当然是人为错误。我的 cacheDirectory 在我的 babel-loader 查询中有 true
。您可以在 babel-loader 自述文件中阅读它(只需在 'cacheDirectory' 页面上查找)https://github.com/babel/babel-loader
一旦我将其更改为 false
,这是默认设置。问题消失了。希望能帮到别人。
我有一个使用 Relay 的 React 应用程序和一个远程 GraphQL 服务器。当我启动 webpack 服务器时,我让它获取最新的模式并将其提供给 babel-relay-plugin。
效果很好....除非我更改架构。似乎 React 或 Relay 或 webpack 或其他东西正在缓存架构,因为当我 运行 应用程序时,我会在浏览器控制台中收到架构验证错误。但是,当我 运行 使用 GraphIQL 手动对 GraphQL 服务器进行查询时,查询成功。所以我想它必须是反应、中继、webpack 方面的某种缓存?
我尝试过的事情:
- 列表项
- 正在重启 webpack 服务器
- 删除
node_modules
和npm install
- 我什至尝试过重新启动我的电脑(这似乎确实有效,但可能是巧合)
在此先感谢您的帮助。
当我切换到 Webpack 2 时,这发生在我身上。
我的解决方案是将 babelRelayPlugin
移动到 .babelrc
中第一个执行的插件。
虽然我不太确定为什么。
事实证明,这当然是人为错误。我的 cacheDirectory 在我的 babel-loader 查询中有 true
。您可以在 babel-loader 自述文件中阅读它(只需在 'cacheDirectory' 页面上查找)https://github.com/babel/babel-loader
一旦我将其更改为 false
,这是默认设置。问题消失了。希望能帮到别人。