Adn*_*nan 4 environment-variables laravel vue.js laravel-mix
我想使用Vue JS访问.env变量.
在我的.env文件中,我在var中添加了"MIX_"前缀.
MIX_VAR=key
Run Code Online (Sandbox Code Playgroud)
然后在vue组件中,我在created()中:
console.log(process.env.MIX_VAR);
Run Code Online (Sandbox Code Playgroud)
结果我不断定义.
我已经尝试清除配置缓存,但仍然遇到同样的问题.有任何想法吗?
sab*_*zdi 20
在窗口中:
这对我有用,在 webpack.mix 中没有任何要求
...只需在 env 文件中添加一个带有此前缀的新变量:MIX_
MIX_API_URL=http://laravel:8000
Run Code Online (Sandbox Code Playgroud)
但是需要重新启动 php artisan serve 并重新启动 npm run watch ....
let api_url = process.env.MIX_API_URL;
console.log("my env variable:");
console.log(api_url);
Run Code Online (Sandbox Code Playgroud)
在 linux 或 docker 中:
我还没有使用它们
您必须为要替换的env变量构建JS.您可以使用npm或执行此操作yarn
https://laravel.com/docs/5.7/mix#running-mix
从官方文档@ https://laravel.com/docs/5.6/mix#environment-variables 中提取
环境变量
你可以通过在你的 .env 文件中给一个键添加 MIX_ 前缀来将环境变量注入到 Mix 中:
MIX_SENTRY_DSN_PUBLIC=http://example.com
Run Code Online (Sandbox Code Playgroud)
在 .env 文件中定义变量后,您可以通过 process.env 对象进行访问。如果在运行监视任务时值发生变化,则需要重新启动任务:
process.env.MIX_SENTRY_DSN_PUBLIC
Run Code Online (Sandbox Code Playgroud)
要记住的最重要的事情是你必须使用Laravel Mix才能工作。Mix 是注入环境变量的东西。