laravel - 如何在 laravel + vuejs 项目中使用 .env 文件?

标签 laravel vue.js development-environment production-environment

I have laravel(5.8) + vuejs(2.6.10) project in single repo.

目前,我正在使用前缀 MIX 的 laravel 的 .env 为前端(vuejs)使用 env 变量。

上下文:
https://medium.com/@weehong/laravel-5-7-vue-vue-router-spa-5e07fd591981

但是

除了 laravel 的 .env 之外,我需要为 vuejs 单独的 .env 文件。是否可以?怎么办?

我需要根据 .env 文件进行构建(同时不使用 Vue-cli)

最佳答案

Laravel 已经提供了这个开箱即用的功能。对于您想要公开的任何变量 laravel/mix , 你只需在它们前面加上 MIX_

MIX_HOST=https://example.com

现在您可以在 Vue 应用程序中以 process.env.MIX_HOST 访问它.

Mix 不会包含来自您的 .env 的任何其他变量文件,如果它们没有前缀 MIX_ .

要获得更可控的方法,您可以使用 dotenv为此,请指定您的 .env 的文件名您希望在 Vue 中加载的文件应用:

yarn add -D dotnev // npm i dotenv -D

然后在你的 Vue 应用程序的主 js 文件中:

require('dotenv').config({
  path: path.resolve(process.cwd(), '.env-vue')
})

这会污染 process.env global 具有此文件中的任何值。

关于laravel - 如何在 laravel + vuejs 项目中使用 .env 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57369180/

相关文章:

php - Array 的 Laravel 验证不起作用

Vue.js 使用自定义指令添加组件选项(prop)

linux - 如何在 docker 容器中生成与主机用户具有相同所有者的文件

git - 忽略开发环境中 capistrano 当前目录中的某些文件和更改

c++ - 使用 boost 时如何在 Visual Studio 中设置目录?

php - Laravel Auth::user 在其他 Controller 中找不到

php - 如何每 8 小时 1 分钟运行一次 CRON

php - Laravel Controller 中的单元测试索引函数

vue.js - Vuejs - 处理按键并单击表格行

javascript - Vue.js + 调用整页文档的点击事件