Webpack 无法创建中继容器;graphql.js文件是否有网页包工件?
我在一个电子容器中使用带有CRA的继电器,我遇到了一个似乎无法诊断的奇怪错误:导入的GraphQL片段似乎包含网页包工件Webpack 无法创建中继容器;graphql.js文件是否有网页包工件?,webpack,electron,graphql,relay,Webpack,Electron,Graphql,Relay,我在一个电子容器中使用带有CRA的继电器,我遇到了一个似乎无法诊断的奇怪错误:导入的GraphQL片段似乎包含网页包工件 Could not create Relay Container for `UsersGrid`. Expected a set of GraphQL fragments, got `function () { const node = __webpack_require__(/*! ./__generated__/UsersGrid_viewer.graphql */
Could not create Relay Container for `UsersGrid`. Expected a set of GraphQL fragments, got `function () {
const node = __webpack_require__(/*! ./__generated__/UsersGrid_viewer.graphql */ "./src/components/users-grid/__generated__/UsersGrid_viewer.graphql.js");
Webpack是否以某种方式编译了.graphql.js
文件?还是我应该看看别的东西
这是中继容器:
import { createFragmentContainer, graphql } from 'react-relay';
import UsersGrid from './UsersGrid';
export default createFragmentContainer(
UsersGrid,
graphql`
fragment UsersGrid_viewer on Query {
user(login: "jvcjunior") {
followers(first: 10) {
edges {
node {
name
avatarUrl
}
}
}
}
}
`
);
正在内联编译到:
/***/ "./src/components/users-grid/UsersGrid.relay.js":
/*!******************************************************!*\
!*** ./src/components/users-grid/UsersGrid.relay.js ***!
\******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_relay__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-relay */ "./node_modules/react-relay/index.js");
/* harmony import */ var react_relay__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_relay__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _UsersGrid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UsersGrid */ "./src/components/users-grid/UsersGrid.js");
/* harmony default export */ __webpack_exports__["default"] = (Object(react_relay__WEBPACK_IMPORTED_MODULE_0__["createFragmentContainer"])(_UsersGrid__WEBPACK_IMPORTED_MODULE_1__["default"], function () {
const node = __webpack_require__(/*! ./__generated__/UsersGrid_viewer.graphql */ "./src/components/users-grid/__generated__/UsersGrid_viewer.graphql.js");
if (node.hash && node.hash !== "d730274a63d8021d6427a27e7c3e2c27") {
console.error("The definition of 'UsersGrid_viewer' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data.");
}
return __webpack_require__(/*! ./__generated__/UsersGrid_viewer.graphql */ "./src/components/users-grid/__generated__/UsersGrid_viewer.graphql.js");
}));
/***/ }),
试用
createFragmentContainer(Component, {
viewer: graphql`
fragment UsersGrid_viewer on Query { ... }
`
})
反而
createFragmentContainer(Component,
graphql`
fragment UsersGrid_viewer on Query { ... }
`
)
你好我在反应方面也有同样的问题relay@4@Alexes你们中有谁解决了这个问题吗?Relay想要有帮助的
typeof fragmentSpec===“object”
,但我不明白,为什么在文档中需要映射{[string]:GraphQLTaggedNode}
,但在教程中他们只传递graphql`fragment…`
string。可能是因为babel插件中继必须将一个转换为另一个?我刚从^3.0.0升级到^4.0.0,不得不将容器更改为传递对象,而不是graphqlfragment…
fragment容器、Refetch容器、分页容器现在总是希望对象作为片段声明(单个graphql标记不再是有效的输入),因为graphql标记在babel过程中不再隐式生成对象包装器transform@Alexes谢谢。我在一个月前做了一次公关,让教程保持最新。