これはノードであるため、 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
、個々の投稿パスにリンクします。この場合、コードを共有し、さまざまなモジュールシステムを処理することをどのように推奨しますか?
私の経験では、ノード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を使用していない限り、通常のようにブラウザコードにノードモジュールをインポートできます。 何か問題に直面していますか?