<p>gatsby-transformer-yaml Esperado "projectsYamlTitleQueryString_2"</p>

Criado em 6 set. 2018  ·  1Comentário  ·  Fonte: gatsbyjs/gatsby

A filtragem não funciona com arquivos yaml

Com base na documentação oficial do GraphQL, tentei fazer uma consulta com gatsby-transformer-yaml

https://www.graph.cool/docs/reference/graphql-api/query-api-nia9nushae#traversing -a-single-node
query { projectsYaml(title: "project1"){ description keywords published } }

isso não funciona, o erro é "Argument \"title\" has invalid value \"project1\".\nExpected \"projectsYamlTitleQueryString_2\", found not an object."

também tentei este https://www.graph.cool/docs/reference/graphql-api/query-api-nia9nushae#filtering -by-field
query { allProjectsYaml(filter: { title: "project1" }){ edges{ node{ description keywords date } } } }

erro: Argument \"filter\" has invalid value {title: \"project1\"}.\nIn field \"title\": Expected \"projectsYamlConnectionTitleQueryString_2\", found not an object.",

minha estrutura de dados

src /
dados/
projetos /
-project1.yml
-project2.yml

e assim por diante.

se isso não funcionar, talvez você possa sugerir outra solução para obter dados de um arquivo específico?
porque se eu fizer apenas projectsYaml i obter apenas o primeiro, usar allProjectsYaml me deixaria filtrando a lista em JS ...


informação de gatsby --clipboard

Sistema:
SO: Windows 10
CPU: x64 Intel (R) Core (TM) i5-6300HQ CPU @ 2,30 GHz
Binários:
Nó: 10.8.0 - D: NodeJSnode.EXE
npm: 6.2.0 - D: NodeJSnpm.CMD
Navegadores:
Edge: 42.17134.1.0
npmPacotes:
gatsby: ^ 1.9.277 => 1.9.277
imagem gatsby: ^ 1.0.55 => 1.0.55
gatsby-link: ^ 1.6.46 => 1.6.46
gatsby-plugin-react-helmet: ^ 2.0.11 => 2.0.11
gatsby-plugin-sharp: ^ 1.6.48 => 1.6.48
gatsby-source-filesystem: ^ 1.5.39 => 1.5.39
gatsby-transformer-json: ^ 1.0.20 => 1.0.20
gatsby-transformador-afiado: ^ 1.6.27 => 1.6.27
gatsby-transformer-yaml: ^ 1.5.18 => 1.5.18

erro O sistema não pode encontrar o caminho especificado.

Erro: O sistema não pode encontrar o caminho especificado.

  • envinfo.js: 1 Function.e.exports.sync
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:7778

  • envinfo.js: 1 Object.copySync
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:104976

  • envinfo.js: 1 Object.t.writeSync.e [as writeSync]
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:123499

  • envinfo.js: 1
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:124274

  • envinfo.js: 1 Promise.all.then.e
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:124289

  • util.js: 16 tryCatcher
    [npm] / [gatsby-cli] / [bluebird] /js/release/util.js:16:23

  • promessa.js: 512 Promise._settlePromiseFromHandler
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:512:31

  • promessa.js: 569 Promise._settlePromise
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:569:18

  • promessa.js: 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:614:10

  • promessa.js: 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:693:18

  • promessa.js: 638 Promise._fulfill
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:638:18

  • promessa_array.js: 126 PromiseArray._resolve
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise_array.js:126:19

  • promessa_array.js: 144 PromiseArray._promiseFulfilled
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise_array.js:144:14

  • promessa.js: 574 Promise._settlePromise
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:574:26

  • promessa.js: 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:614:10

  • promessa.js: 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:693:18

erro REJEIÇÃO NÃO MANIPULADA

Erro: O sistema não pode encontrar o caminho especificado.

  • envinfo.js: 1 Function.e.exports.sync
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:7778

  • envinfo.js: 1 Object.copySync
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:104976

  • envinfo.js: 1 Object.t.writeSync.e [as writeSync]
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:123499

  • envinfo.js: 1
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:124274

  • envinfo.js: 1 Promise.all.then.e
    [npm] / [gatsby-cli] / [envinfo] /dist/envinfo.js:1:124289

  • util.js: 16 tryCatcher
    [npm] / [gatsby-cli] / [bluebird] /js/release/util.js:16:23

  • promessa.js: 512 Promise._settlePromiseFromHandler
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:512:31

  • promessa.js: 569 Promise._settlePromise
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:569:18

  • promessa.js: 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:614:10

  • promessa.js: 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:693:18

  • promessa.js: 638 Promise._fulfill
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:638:18

  • promessa_array.js: 126 PromiseArray._resolve
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise_array.js:126:19

  • promessa_array.js: 144 PromiseArray._promiseFulfilled
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise_array.js:144:14

  • promessa.js: 574 Promise._settlePromise
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:574:26

  • promessa.js: 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:614:10

  • promessa.js: 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [bluebird] /js/release/promise.js:693:18


(os navegadores estão errados, tenho opera, chrome e firefox, mas não acho que isso seja relevante.

gatsby-config.js : module.exports = { siteMetadata: { title: 'xxx', }, plugins: [ 'gatsby-plugin-react-helmet', 'gatsby-transformer-json', 'gatsby-transformer-sharp', 'gatsby-transformer-yaml', 'gatsby-plugin-sharp', { resolve: 'gatsby-source-filesystem', options: { name: 'data', path: './src/data', }, }, { resolve: 'gatsby-source-filesystem', options: { name: 'projects', path: './src/data/projects', }, }, { resolve: 'gatsby-source-filesystem', options: { name: 'img', path: './src/assets/images', }, }, ], }
package.json : N / A
gatsby-node.js : N / A
gatsby-browser.js : N / A
gatsby-ssr.js : N / A

question or discussion

Comentários muito úteis

Verifique https://www.gatsbyjs.org/docs/graphql-reference/#filter - gatsby usa operadores para filtragem, por isso é mais flexível - no seu caso, você provavelmente gostaria de usar:
query { projectsYaml(title: { eq: "project1"}) - eq significa que o título é igual a "projeto1" - outros operadores permitem a exclusão ne , usando regex etc.

>Todos os comentários

Verifique https://www.gatsbyjs.org/docs/graphql-reference/#filter - gatsby usa operadores para filtragem, por isso é mais flexível - no seu caso, você provavelmente gostaria de usar:
query { projectsYaml(title: { eq: "project1"}) - eq significa que o título é igual a "projeto1" - outros operadores permitem a exclusão ne , usando regex etc.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mikestopcontinues picture mikestopcontinues  ·  3Comentários

jimfilippou picture jimfilippou  ·  3Comentários

kalinchernev picture kalinchernev  ·  3Comentários

totsteps picture totsteps  ·  3Comentários

3CordGuy picture 3CordGuy  ·  3Comentários