代码之家  ›  专栏  ›  技术社区  ›  Cookies

访问index.html文件中的环境变量

  •  0
  • Cookies  · 技术社区  · 1 年前

    我正在尝试访问的内部的一些环境变量 index.html 文件在index.html构建时,环境变量是否可以访问?我已经尝试了一些类似的方法,我可以在控制台中打印出日志

    index.html

    <script type="text/javascript">
       console.log('this is inside index.html');
    </script>
    

    但当我试图访问环境变量时,我无法做到。我在一些地方读到这是可能的,但无法实现。

    .env文件

    VITE_MY_VAR = 'HELLO WORLD'
    

    index.html

    <script type="text/javascript">
       console.log('my env var', VITE_MY_VAR);
       <% console.log('test', process.env['VITE_MY_VAR']) %>
    </script>
    
    1 回复  |  直到 1 年前
        1
  •  0
  •   Phil    1 年前

    看见 HTML Env Replacement ...

    Vite还支持替换HTML文件中的env变量。中的任何属性 import.meta.env 可以在HTML文件中使用 %ENV_NAME% 语法

    笔记 这需要Vite v4或更高版本

    尝试在中使用此的问题 <script> 标签是引用和转义;Vite只执行直接替换操作。您需要尝试确保您的 .env 以JavaScript字符串文字表示时的值

    <script>
      console.log('my env var', `%VITE_MY_VAR%`); // 👈 value must be quoted
                                                  // as a string literal
    </script>
    

    这将作为

    <script>
      console.log('my env var', `Hello World`);
    </script>
    

    注意(我看到了 很多 ), 不要 终止您的 .env 带分号的值( ; ). 如果你这样做,这将包括在内 字面上 在值中。

    你也不需要引号,如果你需要,它们无论如何都会被删除。

    我建议尽可能简单

    VITE_MY_VAR=Hello World