变量"/>
更新到 Node v18 后无法访问 ENV 变量
我正在开发一个使用 HTML/CSS/Javascript 和 Vite.js 构建的 Web 应用程序。我想将 Vite 从 v2 更新到最新版本 (v4),为此,我还需要将 Node.js 从 v15 更新到最新的 v18 (docs)。
我更新了 Vite 和 Node,一切似乎都很顺利,直到我发现我不再能够访问 ENV 变量。我不明白问题出在哪里,因为我没有更改实际文件中的任何内容,并且控制台中没有错误消息(除了在我尝试访问变量时显示变量返回未定义)。
例如,我将 API 调用的 URL 存储在一个 ENV 文件中,然后从我的
main.js
文件中访问它,如下所示:
Main.js
// Define base_url for API calls to server
export const endpoint_base_url = import.meta.env.VITE_ENDPOINT_BASE_URL;
console.log(endpoint_base_url) // Returns undefined after updating
我的 DOTENV 文件如下所示:
VITE_ENDPOINT_BASE_URL = (private URL goes here)
我认为 Node.js 更新是问题所在——只要我更新 Node,ENV 变量就会停止工作,即使我仍在使用旧版本的 Vite。这是我要更新到 (18.6.0) 版本的 changelog。
话虽这么说,我也通读了 Vite v3 和 v4 的迁移指南。有 one section about ENV variables,但它似乎不适用于我的问题。尽管如此,如果它是相关的,这里是从 v2 到 v3 的迁移指南,这里是从 v3 到 v4 的迁移指南。这是Vite文档中关于ENV变量的部分。
也许我需要以某种方式不同地配置 dotenv?或者更改 main.js 中的 import 语句?我很困惑,任何帮助将不胜感激。
更新 我尝试将 ENV 文件移动到包含所有 HTML/JS/CSS 文件的文件夹中,即使它不是项目根目录。那奏效了。所以现在我仍然很困惑,但至少我有一个可用的应用程序!
文件结构:
--> Root folder
----->www-vite
-------->Pages, index.html, ENV files, package.json, etc.
回答如下:
更多推荐
更新到 Node v18 后无法访问 ENV 变量
发布评论