所以问题很简单。我正在使用webpack和relay,当我通过命令bundle更新我的架构时会重建,但是当我尝试查询更新的字段时,我收到了错误:
文件
Cannot query field "X" on type "Y".
中的GraphQL验证错误Z
。如果最近添加了参数/字段/类型,请尝试更新GraphQL架构。
但架构已更新,我可以看到此字段。所以我可以以某种方式清除缓存以防止这种情况。只是重建捆绑没有帮助。
答案 0 :(得分:1)
伙计们我最近遇到了同样的问题。问题是babel-loader插件正在进行某种类型的缓存。将cacheDirectory
选项设置为false会为我修复它。这是修复后jsx的webpack模块规则:
{
test: /\.jsx?$/,
use: {
loader: 'babel-loader',
options: {
babelrc: false,
cacheDirectory: false,
plugins: [path.join(__dirname, 'loaders/babelRelayPlugin')],
presets: ['es2015', 'stage-0', 'react']
}
},
},
答案 1 :(得分:0)
我遇到了持久调用堆栈错误,引用文件中不存在的行 - 即使从项目中删除文件后也是如此。 webpack构建成功(使用选项--cache false运行),但错误显示为来自所有浏览器开发控制台中的webpack输出文件。我尝试在每次构建之前删除该文件,以确保它使用新生成的版本来加载应用程序,但错误不会清除。我终于不得不从头开始在主机上创建一个全新的项目目录,重新安装所有节点包和应用程序 - 此时它加载得很好,所以显然某些东西缓存在输出文件以外的其他地方......
答案 2 :(得分:0)
我发现在我的情况下,文件夹.happypack的内容就是这种行为的原因。所以rm -rf .happypack/*
解决了问题。