大家好,我对 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/