Gatsby: Méthode recommandée pour partager du code entre gatsby-node.js et les composants?

Créé le 9 oct. 2019  ·  1Commentaire  ·  Source: gatsbyjs/gatsby

Puisqu'il s'agit d'un nœud, gatsby-node.js utilise commonjs, les composants utilisent des modules ES6.

Disons que je souhaite partager une fonction qui calcule le slug d'une page créée:

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

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

Maintenant, je veux importer cette fonction à la fois dans

  • dans gatsby-node.js pour l'utiliser dans l'API createPage
  • dans Posts.js pour créer un lien vers les chemins de publication individuels.

Comment recommanderiez-vous de partager du code et de gérer les différents systèmes de modules dans ce cas?

question or discussion

Commentaire le plus utile

D'après mon expérience, vous pouvez simplement importer des modules de nœuds dans le code de votre navigateur comme d'habitude, sauf si vous utilisez des API Node. Êtes-vous confronté à un problème?

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

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

>Tous les commentaires

D'après mon expérience, vous pouvez simplement importer des modules de nœuds dans le code de votre navigateur comme d'habitude, sauf si vous utilisez des API Node. Êtes-vous confronté à un problème?

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

module.exports = { getSlug }
// Posts.js
import { getSlug } from './path/to/shared.js'
Cette page vous a été utile?
0 / 5 - 0 notes