Gatsby: Empfohlene Möglichkeit, Code zwischen gatsby-node.js und Komponenten zu teilen?

Erstellt am 9. Okt. 2019  ·  1Kommentar  ·  Quelle: gatsbyjs/gatsby

Da es sich um einen Knoten handelt, verwendet gatsby-node.js commonjs, verwenden Komponenten ES6-Module.

Angenommen, ich möchte eine Funktion freigeben, die den Slug einer erstellten Seite berechnet:

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

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

Jetzt möchte ich diese Funktion beide in importieren

  • in gatsby-node.js , um es in der createPage API zu verwenden
  • in Posts.js , um auf die einzelnen Post-Pfade zu verlinken.

Wie würden Sie in diesem Fall empfehlen, Code zu teilen und mit den verschiedenen Modulsystemen umzugehen?

question or discussion

Hilfreichster Kommentar

Nach meiner Erfahrung können Sie Knotenmodule wie gewohnt in Ihren Browsercode importieren, es sei denn, Sie verwenden Knoten-APIs. Stehen Sie vor einem Problem?

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

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

>Alle Kommentare

Nach meiner Erfahrung können Sie Knotenmodule wie gewohnt in Ihren Browsercode importieren, es sei denn, Sie verwenden Knoten-APIs. Stehen Sie vor einem Problem?

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

module.exports = { getSlug }
// Posts.js
import { getSlug } from './path/to/shared.js'
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

rossPatton picture rossPatton  ·  3Kommentare

jimfilippou picture jimfilippou  ·  3Kommentare

Oppenheimer1 picture Oppenheimer1  ·  3Kommentare

KyleAMathews picture KyleAMathews  ·  3Kommentare

totsteps picture totsteps  ·  3Kommentare