簡體   English   中英

[GraphQL 錯誤]:消息:未知片段

[英][GraphQL error]: Message: Unknown fragment

我想使用一些片段:

import {gql} from "apollo-boost";
import "../fragments/cardFragments.graphql"

export const ADD_CARD = gql`
    mutation AddCard {
        createCard(input: {
            private: true,
            section: "school",
            createdBy: "api/users/1"
        }) {
            card {
                ...CardFields
            }
        }
    }
`;

export default {ADD_CARD}

cardFragments.graphql:

fragment CardFields on card {
    id
    private
    section
    createdBy {
        id
    }
}

在控制台內,我收到錯誤:

[GraphQL 錯誤]:消息:未知片段“CardFields”。,位置:[object Object],路徑:未定義

我忘了什么嗎?

編輯:

為了使 graphql 片段工作,我需要用 webpack 加載它: Apollo docs

我用Webpack Encore做到了這一點:

.addLoader({
    test: /\.(graphql|gql)$/,
    exclude: /node_modules/,
    loader: 'graphql-tag/loader',
});

module.exports = Encore.getWebpackConfig();

在我這樣做之前 - 我在Webpack Encore內部遇到了 not loadable.graphql 擴展的錯誤。

關於使用Webpack Encore創建 cutsom loader 有什么我看不到的嗎?

您應該import { CardFields } from "../fragments/cardFragments.js" ,然后在您的突變中使用此片段,如下所示:

 import {gql} from "apollo-boost"; import { CARD_FEILDS } from "../fragments/cardFragments.js" export const ADD_CARD = gql` mutation AddCard { createCard(input: { private: true, section: "school", createdBy: "api/users/1" }) { card {...CardFields } } } ${CARD_FEILDS} `; export default {ADD_CARD}

在 cardFragments.js 中:

 import {gql} from "apollo-boost" export const CARD_FEILDS = gql ` fragment CardFields on card { id private section createdBy { id } } `

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM