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

最も参考になるコメント

私の経験では、ノード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'

>すべてのコメント

私の経験では、ノード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 評価