Node.js 如何将dotenv与Vue.js一起使用

Node.js 如何将dotenv与Vue.js一起使用,node.js,vue.js,vuejs2,Node.js,Vue.js,Vuejs2,我正在尝试将一些环境变量添加到我的vue应用程序中 这是我的.env文件的内容,它位于根目录下(在src之外): 我在我的main.js import Vue from 'vue' import App from './App' import VueResource from 'vue-resource' import Vuetify from 'vuetify' import dotenv from 'dotenv' dotenv.config() import { router } f

我正在尝试将一些环境变量添加到我的vue应用程序中

这是我的
.env
文件的内容,它位于根目录下(在
src
之外):

我在我的
main.js

import Vue from 'vue'
import App from './App'
import VueResource from 'vue-resource'
import Vuetify from 'vuetify'

import dotenv from 'dotenv'

dotenv.config()

import { router } from './router'
import store from './store'
我想在我的存储中使用这个变量
/store/index.js

import Vue from 'vue'
import App from './App'
import VueResource from 'vue-resource'
import Vuetify from 'vuetify'

import dotenv from 'dotenv'

dotenv.config()

import { router } from './router'
import store from './store'
我尝试在store中控制台.log环境变量,但没有成功:

console.log(process.env)
但我得到的只是

NODE_ENV:"development"

我找到的唯一相关线程是,但它只提到了如何在
process.env
中使用现有变量。我想使用dotenv添加环境变量。为什么此代码不起作用?

尝试删除等号周围的空格

VUE_APP_GOODREADS_KEY=my_key
另外,请尝试如下调试:

const config = dotenv.config()
if(config.error){
  console.log('Could not load env file', config.error)
}

参考:

如果您的项目是使用
Vue CLI 3
创建的,则无需使用
dotenv
获取环境变量

要获取项目中
.env
文件中的环境变量,请执行以下操作:

  • .env
    文件放在项目根目录中
  • .env
    文件中,使用“VUE_APP_”前缀指定环境变量

    VUE\u APP\u SOMEKEY=SOME\u KEY\u VALUE

  • 最后,您可以使用应用程序代码中的
    process.env.*
    访问它们

    console.log(process.env.VUE\u APP\u SOMEKEY)//SOME\u KEY\u值


  • 参考:

    使用Vue CLI 2时,必须使用config文件夹中的dev.env.js和prod.env.js文件

    但是,Vue CLI 2不支持使用.env文件


    似乎我不能在客户端使用它,因为它会抛出一个错误
    fs not defined
    。这是意料之中的。浏览器如何读取服务器上的任意文件
    fs
    是一个内置节点。但是,您可以设置一个路由,该路由将配置作为JSON字符串,这样浏览器就可以获取和解析该路由。您能稍微解释一下设置吗?我没有得到该方法。如果我想使用
    dotenv
    ,该怎么办?投票被否决,因为op特别将问题标记为vuejs2。关于Vue CLI 3和.env的信息已经很多,但这是vuejs2常见的问题,没有明确的答案。@PrestonDocks Vue CLI 3!==Vue Js 3,Vue CLI 3生成Vue Js 2.x代码,VueJS 3是尚未推出的下一个Vue版本。Vue CLI 3!==Vue Js 3,Vue CLI 3生成Vue Js 2.x代码,VueJS 3是下一个尚未发布的Vue版本。
    // /config/prod.env.js
    'use strict'
    module.exports = {
      NODE_ENV: '"production"',
      SERVER_URI: "http://someremoteuri:3333/api/v1"
    }
    
    // /config/dev.env.js
    'use strict'
    module.exports = {
      NODE_ENV: '"development"',
      SERVER_URI: "http://localhost:3333/api/v1"
    }