javascript - 根据服务器端渲染或浏览器渲染选择createPages gatsby组件

标签 javascript reactjs gatsby

我使用 createPages 根据某些 JSON 输入自动生成组件,如下所示:

exports.createPages = ({ graphql, boundActionCreators }) => {
  const { createPage } = boundActionCreators
  return new Promise((resolve, reject) => {
    graphql(`
{
  allPageJson{
    edges {
      node {
        id
        url
      }
    }
  }
}
    `).then(result => {
      result.data.allPageJson.edges.map(({ node }) => {
        createPage({
          path: node.url,
          component: path.resolve(`./src/templates/page.js`),
          context: {
            id: node.id,
          },
        })
      })
      resolve()
    })
  })
}

我正在寻找的是一个参数或帮助器,它告诉我当前是在构建模式还是开发模式下运行,所以像这样:

exports.createPages = ({ isBuildMode }) => {
  if (isBuildMode) {
     console.log('looks like you ran gatsby build')
     return
  }
  console.log('looks like you ran gatsby develop')
}

最佳答案

process.env.NODE_ENV 是您最好的选择。很高兴讨论问题中的其他选项!

关于javascript - 根据服务器端渲染或浏览器渲染选择createPages gatsby组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46059325/

相关文章:

javascript - jQuery 添加 URL 参数

javascript - Facebook 的 react.js——对象不是函数

javascript - jqPlot 中每个值的固定最小宽度

javascript - jQuery.load() 正在加载页面,但加载页面内的嵌入 javascript 给出了“不允许方法”

javascript - 仅当单击提交按钮时才将数据从多个复选框传递到 api :react js

javascript - Axios API Twitter 请求未返回用户推文

AWS Amplify 控制台中的 Gatsby .cache 文件夹

markdown - 在 Gatsby.js 中使用 Markdown Remark 自定义 frontmatter 变量

javascript - 错误: Unable to locate env file at default locations (./.env,./.env.js,./.env.json)

javascript - Node.js Web 应用程序中 MySQL 查询的延迟加载