将Laravel.env变量添加到Vue组件
我想使用Vue JS访问.env变量 在我的.env文件中,我已将'MIX_u2;'前缀添加到变量中将Laravel.env变量添加到Vue组件,laravel,vue.js,environment-variables,laravel-mix,Laravel,Vue.js,Environment Variables,Laravel Mix,我想使用Vue JS访问.env变量 在我的.env文件中,我已将'MIX_u2;'前缀添加到变量中 MIX_VAR=key 然后在vue组件中,我在created()中: 结果是我一直没有定义 我已尝试清除配置缓存,但仍然遇到相同的问题。有什么想法吗?您必须为要替换的环境变量构建JS。您可以使用npm或warn 从官方文件中提取@ 环境变量 您可以通过在.env文件中的一个键前面加上Mix\前缀,将环境变量注入到Mix中: MIX_SENTRY_DSN_PUBLIC=http://exam
MIX_VAR=key
然后在vue组件中,我在created()中:
结果是我一直没有定义
我已尝试清除配置缓存,但仍然遇到相同的问题。有什么想法吗?您必须为要替换的环境变量构建JS。您可以使用
npm
或warn
从官方文件中提取@
环境变量 您可以通过在.env文件中的一个键前面加上Mix\前缀,将环境变量注入到Mix中:
MIX_SENTRY_DSN_PUBLIC=http://example.com
在.env文件中定义变量后,可以通过process.env对象进行访问。如果在运行监视任务时该值发生更改,则需要重新启动该任务:
process.env.MIX_SENTRY_DSN_PUBLIC
要记住的最重要的一点是,你必须使用它才能工作。Mix是注入环境变量的内容。在windows中:
在webpack.mix中,这对我来说没有任何要求 。。。只需在env文件中添加一个前缀为:MIX\u0的新变量
MIX_API_URL=http://laravel:8000
但需要重新启动php artisan服务,并重新启动npm运行监视
let api_url = process.env.MIX_API_URL;
console.log("my env variable:");
console.log(api_url);
在linux或docker中:
我还没用呢
process.env.MIX_VAR / process.env.MIX_STRIPE_KEY
它将在没有任何设置的情况下工作。只要运行这个命令
npm运行产品
这是通过ajax实现的吗?您可以通过控制器使用
env()
helper来访问env变量。我发现这不安全,变量的值被带到应用程序app.js文件中。您还应该添加require('dotenv').config()代码>到webpack.mix.js的顶部这对我来说没有任何要求。。。只需在env文件中添加一个前缀为MIX_uu的新变量,但需要重新启动php artisan serve,并重新启动npm run watch…@Dazzle在我的情况下,这两种方式都不起作用:/with或withrequire('dotenv').config()代码>您是否npm安装了dotenv
?尝试重新编译或删除node_modules文件夹并重新安装,通过在env文件中添加一个前缀为MIX_u的新变量对我有效,但需要重新启动php artisan Service并重新启动npm run watch…@darryl-e-clarke(如果你愿意)你能接受StackOverflow用户在过去三个月内投票的另一个新答案吗?)myserver是windows,但在docker中不起作用。我不知道为什么在我的情况下,这两种方式都不起作用:/with或withoutrequire('dotenv').config()
@Pathros您需要停止(php artisan服务)并再次运行,以获取环境文件中的任何更改。。。你测试过了吗?请检查一下,我正在使用拉维尔家园。我已多次重新启动服务器,但未识别/提取混合变量。我不明白为什么。我遗漏了什么?@Pathros您的本地或开发pc呢?
process.env.MIX_VAR / process.env.MIX_STRIPE_KEY