【问题标题】:How to get ENV type Laravel + VueJS + Homestead如何获取 ENV 类型 Laravel + VueJS + Homestead
【发布时间】:2016-08-18 05:51:03
【问题描述】:

我正在使用 Laravel + VueJS + Homestead 开发一个应用程序,众所周知,在 Laravel 5.2 上,我们有一个 env 文件,我们可以在其中设置 env 变量......我想做类似的事情,但我可以访问它来自我的 javascript 代码!

我已经阅读了有关 proccess.NODE_ENV 的信息,但我不知道我是否正确,但它看起来只能在 npm start 上工作,不是吗?当我通过宅基地运行我的应用程序时,我真的不知道该怎么做!

提前致谢!

【问题讨论】:

  • 如果你使用 Webpack/Browserify,你可以做类似var config = require('./path/to/config.json') 的事情。 stackoverflow.com/questions/5869216/…
  • 嗨@ceejayoz ...我的主要问题是我如何设置我正在工作的环境!现在我的 proccess.NODE_ENV 返回未定义,我可以弄清楚如何让它返回正确的值!我正在做的事情类似于下面提出的......但我不知道如何让 NODE_ENV 返回正确的值!

标签: javascript laravel-5.2 vue.js homestead env


【解决方案1】:

我有一个 config.js 文件,我将配置变量保存在其中,例如:

const IS_LOCAL = process.env.NODE_ENV !== 'production'

const API_BASE_URL = IS_LOCAL
    ? 'http://api.domain.dev/v1'
    : 'http://api.domain.com/v1'

const LOGIN_URL = "auth/login"
const LOGOUT_URL = "auth/logout"
const REFRESH_URL = "auth/refresh"

export default {
    IS_LOCAL,
    API_BASE_URL,
    LOGIN_URL,
    LOGOUT_URL,
    REFRESH_URL
}

如果我需要一个文件中的配置变量,我只需调用:

import {REFRESH_URL, LOGIN_URL} from "./config.js"

【讨论】:

  • 酷@Jeff!!但是我如何使用那个 process.env?我的意思是如何在我的生产环境中认为它的价值是“生产”?现在我的 process.env.NODE_ENV 正在返回 undefined!
【解决方案2】:

您可以将 APP_ENV 环境变量转储到托管 JavaScript 的页面,然后访问它或将其传递给 Vue。

<script type="text/javascript">
    var env = "{{ env }}";
</script>

然后在你的控制器中...

$env = getenv("APP_ENV");

会给你APP_ENV的值

【讨论】:

  • 我不确定它是否安全!在我的 .env 中,我们通常将安全变量存储为加密密钥之类的东西!如果不将它链接到我的 Laravel .env 会更好地使用我的 envjs!
  • getenv("APP_ENV") 实际上只会输出 .env 文件中 "APP_ENV" 的值 - 这将是 "production"、"staging"、"development" 等。
  • 哇!!它应该可以解决问题!没看懂大佬抱歉!!我要试试!!非常感谢!
猜你喜欢
  • 2018-08-25
  • 2019-12-13
  • 2018-08-04
  • 1970-01-01
  • 2020-03-19
  • 2021-05-29
  • 2020-05-04
  • 2016-01-22
  • 2020-08-17
相关资源
最近更新 更多