<p>gatsby-transformer-yaml ์˜ˆ์ƒ "projectsYamlTitleQueryString_2"</p>

์— ๋งŒ๋“  2018๋…„ 09์›” 06์ผ  ยท  1๋…ผํ‰  ยท  ์ถœ์ฒ˜: gatsbyjs/gatsby

yaml ํŒŒ์ผ์—์„œ ํ•„ํ„ฐ๋ง์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ณต์‹ GraphQL ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ 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 } }

์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋Š” "Argument \"title\" has invalid value \"project1\".\nExpected \"projectsYamlTitleQueryString_2\", found not an object."

๋˜ํ•œ ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค https://www.graph.cool/docs/reference/graphql-api/query-api-nia9nushae#filtering -by-field
query { allProjectsYaml(filter: { title: "project1" }){ edges{ node{ description keywords date } } } }

์˜ค๋ฅ˜ : Argument \"filter\" has invalid value {title: \"project1\"}.\nIn field \"title\": Expected \"projectsYamlConnectionTitleQueryString_2\", found not an object.",

๋‚ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

src /
๋ฐ์ดํ„ฐ/
ํ”„๋กœ์ ํŠธ /
-project1.yml
-project2.yml

๋“ฑ๋“ฑ.

์ด๊ฒƒ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ํŠน์ • ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์„ ์ œ์•ˆ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
projectsYaml ๋งŒ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ ๋งŒ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ allProjectsYaml ํ•˜๋ฉด JS์—์„œ ๋ชฉ๋ก์„ ํ•„ํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ฐœ์ธ ๋น„ ์ •๋ณด-ํด๋ฆฝ ๋ณด๋“œ

์ฒด๊ณ„:
์šด์˜์ฒด์ œ : Windows 10
CPU : x64 Intel (R) Core (TM) i5-6300HQ CPU @ 2.30GHz
๋ฐ”์ด๋„ˆ๋ฆฌ :
๋…ธ๋“œ : 10.8.0-D : NodeJSnode.EXE
npm : 6.2.0-D : NodeJSnpm.CMD
๋ธŒ๋ผ์šฐ์ € :
๊ฐ€์žฅ์ž๋ฆฌ : 42.17134.1.0
npm ํŒจํ‚ค์ง€ :
๊ฐœ์ธ ๋น„ : ^ 1.9.277 => 1.9.277
๊ฐœ์ธ ๋น„ ์ด๋ฏธ์ง€ : ^ 1.0.55 => 1.0.55
๊ฐœ์ธ ๋น„ ๋งํฌ : ^ 1.6.46 => 1.6.46
gatsby-plugin-react-helmet : ^ 2.0.11 => 2.0.11
๊ฐœ์ธ ๋น„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒคํ”„ : ^ 1.6.48 => 1.6.48
๊ฐœ์ธ ๋น„ ์†Œ์Šค ํŒŒ์ผ ์‹œ์Šคํ…œ : ^ 1.5.39 => 1.5.39
๊ฐœ์ธ ๋น„ ๋ณ€์••๊ธฐ json : ^ 1.0.20 => 1.0.20
๊ฐœ์ธ ๋น„-ํŠธ๋žœ์Šคํฌ๋จธ-์ƒคํ”„ : ^ 1.6.27 => 1.6.27
๊ฐœ์ธ ๋น„-ํŠธ๋žœ์Šคํฌ๋จธ -yaml : ^ 1.5.18 => 1.5.18

์˜ค๋ฅ˜ ์‹œ์Šคํ…œ์ด ์ง€์ •๋œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ : ์‹œ์Šคํ…œ์ด ์ง€์ •๋œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • 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 [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

  • promise.js : 512 Promise._settlePromiseFromHandler
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:512:31

  • promise.js : 569 Promise._settlePromise
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:569:18

  • promise.js : 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:614:10

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

  • promise.js : 638 Promise._fulfill
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:638:18

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

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

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

  • promise.js : 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:614:10

  • promise.js : 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:693:18

์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ๊ฑฐ๋ถ€

์˜ค๋ฅ˜ : ์‹œ์Šคํ…œ์ด ์ง€์ •๋œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • 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 [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

  • promise.js : 512 Promise._settlePromiseFromHandler
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:512:31

  • promise.js : 569 Promise._settlePromise
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:569:18

  • promise.js : 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:614:10

  • promise.js : 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:693:18

  • promise.js : 638 Promise._fulfill
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:638:18

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

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

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

  • promise.js : 614 Promise._settlePromise0
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:614:10

  • promise.js : 693 Promise._settlePromises
    [npm] / [gatsby-cli] / [๋ธ”๋ฃจ ๋ฒ„๋“œ] /js/release/promise.js:693:18


(๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์˜คํŽ˜๋ผ, ํฌ๋กฌ, ํŒŒ์ด์–ด ํญ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์ด๊ฒƒ์ด ๊ด€๋ จ์„ฑ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

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 : ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ
gatsby-node.js : ํ•ด๋‹น ์—†์Œ
gatsby-browser.js : ํ•ด๋‹น ์—†์Œ
gatsby-ssr.js : ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ

question or discussion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

https://www.gatsbyjs.org/docs/graphql-reference/#filter๋ฅผ ํ™•์ธ
query { projectsYaml(title: { eq: "project1"}) - eq ๋Š” ์ œ๋ชฉ์ด "project1"๊ณผ ๊ฐ™์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž๋Š” ์ •๊ทœ์‹ ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ne ์ œ์™ธ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

>๋ชจ๋“  ๋Œ“๊ธ€

https://www.gatsbyjs.org/docs/graphql-reference/#filter๋ฅผ ํ™•์ธ
query { projectsYaml(title: { eq: "project1"}) - eq ๋Š” ์ œ๋ชฉ์ด "project1"๊ณผ ๊ฐ™์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž๋Š” ์ •๊ทœ์‹ ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ne ์ œ์™ธ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰