vue.js .env文件中的变量未更新,如何重置

tag5nh1u  于 2023-11-21  发布在  Vue.js
关注(0)|答案(2)|浏览(237)

我正在用Quasar(vue)构建一个应用程序,我使用.env文件将我的键存储到数据库中。我本来打算切换到另一个示例,但在我更改了env文件中的键后,它仍然调用变量的旧值。它们似乎以某种方式被缓存了。
我正在使用dotenv调用env文件。
我当然试过重置浏览器中的历史记录以及运行

npm cache clean --force

字符串
如何重置env文件?

xbp102n0

xbp102n01#

Quasar通过quasar.config.js文件处理env变量,而不是单独的.env文件。请参阅文档。
quasar.config.js

module.exports = function (ctx) {
  return {
    // ...

    build: {
      // passing down to UI code from quasar.config.js
      env: {
        API: ctx.dev
          ? 'https://dev.api.com'
          : 'https://prod.api.com'
      }
    }
  }
}

字符串
如文档中所述,如果您确实希望使用.env文件,则必须将dotenv包添加到项目中,并指向quasar.config.js以使用dotenv设置的env变量

build: {
  env: require('dotenv').config().parsed
}

aemubtdh

aemubtdh2#

我在使用Quasar 2 /Vite/pwa应用程序时也遇到了同样的问题(我不记得在切换之前它处于spa模式)。
即使当我保存我的.env文件时热重载工作(默认情况下Vite env btw没有dotenv,正如Quasar在启动apps/quasar dev: App • Using .env files: .env时所声称的那样),值也不会更新。
我发现的解决方法是:

  • 删除./node_modules/.q-cache文件夹
  • 重新启动开发服务器(quasar dev

此外,如果你没有找到你新添加的变量,不要忘记给它们加上前缀VITE_,否则Vite会出于安全原因忽略它们。

相关问题