我的Laravel应用程序中有一个Vue组件。

我想直接在Vue组件中检索配置(或.env Laravel文件)中的URL,而不是对其进行硬编码。
在webpack laravel mix中,我可以像这样检索我的.env变量。
require('dotenv').config()let proxyUrl = process.env.APP_URL
但是,当我想在我的app.js中执行此操作时,在尝试要求dotenv时出现了can't resolve fs

在我的Vue组件中提供此数据的最佳方法是什么?

最佳答案

我也遇到了同样的问题,但是将变量放置在Blade中对我来说不是一个选择,这还意味着在Blade文件中声明一个变量,然后在一个看起来有些无组织的javascript文件中使用它。因此,如果您处于同一位置,那么我认为有一个更好的解决方案。如果您使用的是Vue,则很可能是使用Laravel mix来编译文件的。

如果是这种情况,您可以将环境变量注入(inject)Mix中,则只需添加前缀MIX_。因此,您可以在.env文件中添加一个变量,例如:

MIX_SENTRY_DSN_PUBLIC=http://example.com

然后在您的javascript文件中访问此变量,如下所示:
process.env.MIX_SENTRY_DSN_PUBLIC

您可以在预编译文件中的任何位置访问此文件。您可以在laravel文档中找到此信息。 https://laravel.com/docs/5.6/mix#environment-variables

关于javascript - 在vue组件中检索config和env变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48785826/

10-12 13:26