Laravel 部署到生产环境并在 env 文件问题中混合变量

标签 laravel production-environment

大家好,我对 Dev Ops 方面的事情还很陌生。所以我有一个 Laravel Vue 应用程序,我在其中使用 API 来处理某些请求。 Web 应用程序和 API 目前都在同一台服务器上。

所以在我的本地 env 文件中我有这样的变量

MIX_DEFAULT_API_URL= http://127.0.0.1:8000

但是在生产环境中我有生产 URL

问题是每次我推送到生产环境时,链接都会被覆盖,我必须运行

npm run production 来解决这个问题

有没有什么解决办法或者就是这样?

最佳答案

要回答您的问题:是的,您需要针对当前的 .env 运行它,因为变量包含在输出中。

但是,您可以使用 Mix extension指定要使用的 .env 文件。在您的情况下,您需要创建一个 .env.production文件并让它通过更新您的 production 来引用它package.json 中的脚本到:

{
  "production": "NODE_ENV=production ENV_FILE=./.env.production ..."
}

(为简洁起见被截断)

然后,当在本地运行构建时,MIX_DEFAULT_API_URL将是您的生产 URL,或者您在生产环境中使用的任何内容。

关于Laravel 部署到生产环境并在 env 文件问题中混合变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62032557/

相关文章:

sql - Rails:在生产日志中显示SQL查询

laravel - 试图获得非对象的属性 - laravel 5.4

php - 调用未定义的方法 Illuminate\Database\Query\Builder::save()- Laravel 5

sql-server - 将主键添加到生产数据库

angular - 使用弹出的 Angular 4 应用程序进行生产编译会产生大文件

node.js - Node.js ws 包上的正确错误处理

PHP Laravel Gallery 将数组拆分为 3 列

css - 在 Laravel 4 中为表单设置提交按钮样式

mysql - sql 删除带有 where、and 或 laravel 的查询

reactjs - 如何在 create-react-app 中划分 prod 和 dev 版本