如何获得ENV型Laravel + VueJS + Homestead

Gus*_*lli 5 javascript env vue.js homestead laravel-5.2

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

我已经读过有关proccess.NODE_ENV的内容,但我不知道我是否做得对,但它看起来只适用于npm开始没有?当我通过家园运行我的应用程序时,我真的不知道该怎么做!

提前致谢!

Jef*_*eff 7

我有一个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
}
Run Code Online (Sandbox Code Playgroud)

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

import {REFRESH_URL, LOGIN_URL} from "./config.js"
Run Code Online (Sandbox Code Playgroud)


Mic*_*ker 6

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

<script type="text/javascript">
    var env = "{{ env }}";
</script>
Run Code Online (Sandbox Code Playgroud)

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

$env = getenv("APP_ENV");
Run Code Online (Sandbox Code Playgroud)

会得到你的价值 APP_ENV

  • 我不确定这是否安全!在我的.env中,我们通常将安全变量存储为加密密钥等等!如果不将它链接到我的Laravel .env,我的envjs会更好! (3认同)
  • `getenv("APP_ENV")`实际上只会输出."APP_ENV"`在.env文件中的值 - 这将是"生产","分段","开发"等等. (2认同)