我正在用Quasar(vue)构建一个应用程序,我使用.env文件将我的键存储到数据库中。我本来打算切换到另一个示例,但在我更改了env文件中的键后,它仍然调用变量的旧值。它们似乎以某种方式被缓存了。我正在使用dotenv调用env文件。我当然试过重置浏览器中的历史记录以及运行
npm cache clean --force
字符串如何重置env文件?
xbp102n01#
Quasar通过quasar.config.js文件处理env变量,而不是单独的.env文件。请参阅文档。quasar.config.js
quasar.config.js
.env
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 }
型
aemubtdh2#
我在使用Quasar 2 /Vite/pwa应用程序时也遇到了同样的问题(我不记得在切换之前它处于spa模式)。即使当我保存我的.env文件时热重载工作(默认情况下Vite env btw没有dotenv,正如Quasar在启动apps/quasar dev: App • Using .env files: .env时所声称的那样),值也不会更新。我发现的解决方法是:
Vite
pwa
spa
apps/quasar dev: App • Using .env files: .env
./node_modules/.q-cache
quasar dev
此外,如果你没有找到你新添加的变量,不要忘记给它们加上前缀VITE_,否则Vite会出于安全原因忽略它们。
VITE_
2条答案
按热度按时间xbp102n01#
Quasar通过
quasar.config.js
文件处理env变量,而不是单独的.env
文件。请参阅文档。quasar.config.js
字符串
如文档中所述,如果您确实希望使用
.env
文件,则必须将dotenv包添加到项目中,并指向quasar.config.js
以使用dotenv设置的env变量型
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会出于安全原因忽略它们。