【问题标题】:Unable to set additional environment variable in Gatsby build无法在 Gatsby 构建中设置其他环境变量
【发布时间】:2019-04-04 07:09:34
【问题描述】:

我正在尝试使用暂存环境变量构建 Gatsby 项目,但它始终使用生产环境变量

我用过这个教程Environment Variables | Gatsby

这是我的 gatsby-config.js 文件

let activeEnv = process.env.ACTIVE_ENV || process.env.NODE_ENV || 
'development';

console.log(`Using environment config: '${activeEnv}'`);

require("dotenv").config({
  path: `.env.${activeEnv}`,
});

module.exports = { 
plugins: [
   {
     resolve: `gatsby-plugin-sass`,
     options: {
       precision: 8,
     },
   },
 ]
};

这是我用来构建的命令

"build:staging": "set ACTIVE_ENV='staging' && gatsby build",

当我运行上面的命令时,它会显示 Using environment config: 'staging' 但在构建后它使用生产变量

我的 .env 文件

在运行 ACTIVE_ENV='staging' gatsby build 后我得到了这个

$ ACTIVE_ENV='staging' gatsby build
success delete html and css files from previous builds — 0.058 s
⠁ Using environment config: 'staging'
{ API_URL: 'https://api.company.com/api/company/test',
  COMPANY_URL: 'https://company.test.com/test/' }
success open and validate gatsby-config — 0.011 s
info One or more of your plugins have changed since the last time you ran 
Gatsby. As a precaution, we're deleting your site's cache to ensure there's not any stale
data
success copy gatsby files — 0.044 s
success onPreBootstrap — 0.039 s
success source and transform nodes — 0.026 s
success building schema — 0.112 s
success createLayouts — 0.007 s
success createPages — 0.001 s
success createPagesStatefully — 0.082 s
success onPreExtractQueries — 0.001 s
success update schema — 0.072 s
success extract queries from components — 0.041 s
success run graphql queries — 0.015 s
success write out page data — 0.005 s
success write out redirect data — 0.001 s
success onPostBootstrap — 0.001 s

info bootstrap finished - 3.516 s

success Building CSS — 13.139 s
success Building production JavaScript bundles — 26.757 s
⢀ Building static HTML for pages{ API_URL: 
'https://api.company.com/api/company/prod',
  COMPANY_URL: 'https://company.test.com/prod/',
  NODE_ENV: 'production',
  PUBLIC_DIR: 'D:\\website/public' }
success Building static HTML for pages — 8.390 s
info Done building in 51.808 sec

【问题讨论】:

  • 我也有同样的问题 :-( 因为我是 linux 用户 cross-env 不是解决方案。
  • 在为页面构建静态 HTML 后如何打印 URL?

标签: environment-variables gatsby


【解决方案1】:

我使用 cross-env 包解决了这个问题。现在它工作正常。

这里是命令

"build:staging": "cross-env ACTIVE_ENV=\"staging\" gatsby build",

现在当我运行 npm run build:staging 时,它使用 .env.staging 构建

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多