由于是节点, 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
中链接到各个帖子路径。在这种情况下,您如何建议共享代码并处理不同的模块系统?
根据我的经验,除非使用Node 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'
最有用的评论
根据我的经验,除非使用Node API,否则您可以像通常一样在浏览器代码中导入节点模块。 你有什么问题吗?