我正在尝试使用暂存环境变量构建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",
当我运行上面的命令时,它显示使用环境配置:“暂存” 但是在构建之后,它会使用生产变量
运行 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
答案 0 :(得分:0)
我使用跨环境软件包解决了此问题。现在一切正常。
这是命令
“ build:staging”:“跨环境ACTIVE_ENV = \” staging \“ gatsby build”,
现在,当我运行npm run build:staging
时,它将使用.env.staging进行构建