【问题标题】:Quasar - get API key from .env into boot filesQuasar - 从 .env 获取 API 密钥到引导文件中
【发布时间】:2021-03-26 17:37:46
【问题描述】:

获取.env文件中GOOGLE_MAP_API变量的值到gmap-vue.js里面的boot/目录

如果我像这样立即使用 key 就可以了

  load: {
    key: 'AIzaSyCw9Txxxxxxxxxxxxx',
    ...
  }

但我想使用来自 .env 文件的 key,例如 process.env.GOOGLE_MAP_API

quasar.conf.js

module.exports = function (/* ctx */) {
  return {
    ...
    boot: [
      'gmap-vue'
    ],

boot/gmap-vue.js

import Vue from "vue";
import * as GmapVue from "gmap-vue";

Vue.use(GmapVue, {
  load: {
    key: process.env.GOOGLE_MAP_API,
    ...
  }
}

.env

GOOGLE_MAP_API='AIzaSyCw9Txxxxxxxxxxxxx'

它会返回一个错误:

Google Maps JavaScript API warning: InvalidKey 
https://developers.google.com/maps/documentation/javascript/error-messages#invalid-key

总结一下,如果我从process.env 获得 key,它会报错

【问题讨论】:

  • 您是否尝试删除 .env 文件中的引号?
  • 是的,我也试过了
  • 如果你在你的组件console.log(process.env.GOOGLE_MAP_API) 中的某个地方,你会得到正确的值吗?
  • 是的,即使我在.env(重新启动终端)中删除字符串上的双引号也很奇怪,当我使用 console.log() 时它总是添加双引号。
  • 也许你有不同的 .env 文件?而你修改错了?

标签: vue.js quasar-framework dotenv


【解决方案1】:

我注意到,当我从 process.env 访问 String 值时,它总是添加双引号 (")。

即使.env中的字符串值没有双引号

所以我所做的就是使用正则表达式;

  load: {
    key: process.env.GOOGLE_MAP_API.replace(/"/g, ""),

编辑:如果你们有更好的答案,请给,谢谢

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 2022-08-23
    • 2020-10-02
    • 2022-12-17
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多