gpt4 book ai didi

environment-variables - 我可以在 Netlify 中通过 Create-React-App 使用构建环境变量吗?

转载 作者:行者123 更新时间:2023-12-04 09:30:02 24 4
gpt4 key购买 nike

如何在 Netlify 中通过 Create-React-App 使用构建环境变量?

最佳答案

CAN 在您的 create-react-app 中使用环境变量在 Netlify 上,但 Create React App 的所有构建约束仍然适用。

  • 默认情况下,您将为您定义 NODE_ENV
  • 任何其他以 REACT_APP_ 开头的环境变量将可用
  • 除了 NODE_ENV 之外的任何其他变量都将被忽略
  • 更改任何环境变量都需要您触发新的构建/部署

  • 重要提示:不能从 create-react-app 访问环境变量从 Netlify 上托管的浏览器动态!它们必须在构建时访问才能在静态站点中使用。

    来自 example create-react-app repo托管在 Netlify 上:
    App.js
    import React, { Component } from 'react';
    import logo from './logo.svg';
    import './App.css';

    class App extends Component {
    render() {
    return (
    <div className="App">
    <header className="App-header">
    <img src={logo} className="App-logo" alt="logo" />
    <h1 className="App-title">Environment Variables in a Create React App on Netlify</h1>
    </header>
    <p className="App-intro">
    To get started, edit <code>src/App.js</code> and commit to your repo.
    </p>
    <p>NODE_ENV value is "{process.env.NODE_ENV}"</p>
    <p>CUSTOM_ENV_VAR value is "{process.env.CUSTOM_ENV_VAR}"</p>
    <p>REACT_APP_CUSTOM_ENV_VAR value is "{process.env.REACT_APP_CUSTOM_ENV_VAR}"</p>
    <p>TOML_ENV_VAR value is "{process.env.TOML_ENV_VAR}"</p>
    <p>REACT_APP_TOML_ENV_VAR value is "{process.env.REACT_APP_TOML_ENV_VAR}"</p>
    </div>
    );
    }
    }

    export default App;

    https://netlify-cra-env-vars.netlify.com/ 处生成以下内容:
    enter image description here

    Netlify.com 上的站点设置中设置环境变量

    app.netlify.com , CUSTOM_ENV_VARREACT_APP_CUSTOM_ENV_VAR设置如下:
    enter image description here

    netlify.toml 中设置环境变量

    netlify.toml 环境变量设置为:
    [build]
    command = "yarn build"
    publish = "build"

    [context.production.environment]
    TOML_ENV_VAR = "From netlify.toml"
    REACT_APP_TOML_ENV_VAR = "From netlify.toml (REACT_APP_)"

    [额外] .env 中设置环境变量

    您可以在 .env 中设置环境变量项目根目录下的文件并提交到您的存储库。以下内容适用于 react-scripts@1.1.0和更高,这需要您的 version您的值(value) package.json文件。
    .env
    REACT_APP_VERSION=$npm_package_version

    注:可以访问版本(以及许多其他 npm exposed environment variables )。
    不要将 key 放入您的存储库。

    关于environment-variables - 我可以在 Netlify 中通过 Create-React-App 使用构建环境变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52542840/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com