Gatsby: gatsby-node.js์™€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ„์— ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ถŒ์žฅ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

๋…ธ๋“œ์ด๋ฏ€๋กœ gatsby-node.js ๋Š” commonjs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ตฌ์„ฑ ์š”์†Œ๋Š” ES6 ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ ๋œ ํŽ˜์ด์ง€์˜ ์Šฌ๋Ÿฌ๊ทธ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ • ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

/* export ? */ function getSlug(post) {
   return `/posts/${post.data}${post.title.toLowerCase()}`
}

/* module.exports = { getSlug }; ? */

์ด์ œ์ด ํ•จ์ˆ˜๋ฅผ

  • gatsby-node.js ์—์„œ createPage API์—์„œ ์‚ฌ์šฉ
  • Posts.js ์—์„œ ๊ฐœ๋ณ„ ๊ฒŒ์‹œ๋ฌผ ๊ฒฝ๋กœ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๊ถŒ์žฅํ•ฉ๋‹ˆ๊นŒ?

question or discussion

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

๋‚ด ๊ฒฝํ—˜์ƒ Node API๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ•œ ํ‰์†Œ์ฒ˜๋Ÿผ ๋ธŒ๋ผ์šฐ์ € ์ฝ”๋“œ์—์„œ ๋…ธ๋“œ ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

// shared.js
function getSlug(post) {
   return `/posts/${post.data}${post.title.toLowerCase()}`
}

module.exports = { getSlug }
// Posts.js
import { getSlug } from './path/to/shared.js'

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

๋‚ด ๊ฒฝํ—˜์ƒ Node API๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ•œ ํ‰์†Œ์ฒ˜๋Ÿผ ๋ธŒ๋ผ์šฐ์ € ์ฝ”๋“œ์—์„œ ๋…ธ๋“œ ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

// shared.js
function getSlug(post) {
   return `/posts/${post.data}${post.title.toLowerCase()}`
}

module.exports = { getSlug }
// Posts.js
import { getSlug } from './path/to/shared.js'
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰