Gatsby: Gatsby-node.js рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЕрдХреНрддреВре░ 2019  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: gatsbyjs/gatsby

рдЪреВрдВрдХрд┐ рдпрд╣ рдиреЛрдб рд╣реИ, gatsby-node.js рдЖрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдШрдЯрдХ 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

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛрдб рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХреА рддрд░рд╣ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдиреЛрдб рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

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

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

>рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛрдб рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХреА рддрд░рд╣ рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдиреЛрдб рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

// 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 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rossPatton picture rossPatton  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

3CordGuy picture 3CordGuy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

timbrandin picture timbrandin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

magicly picture magicly  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ