php - 如何将环境参数传递给 Laravel Mix 6?
问题描述
有没有办法通过命令行将参数传递给 laravel mix 并在 webpack.mix.js 文件中获取它们?例如,我添加了行frontend-dev,但运行“yarn run frontend-dev”后无法获取“foo”变量。
包.json
{
"private": true,
"scripts": {
"development": "mix",
"frontend-dev": "mix -- --env foo=frontend"
},
"devDependencies": {
"axios": "^0.21",
"laravel-mix": "^6.0.6",
"lodash": "^4.17.19",
"postcss": "^8.1.14"
}
}
webpack.mix.js
const mix = require('laravel-mix');
//console.log(process.env);
console.log(process.env.foo); //output: undefined
解决方案
您可以从命令行执行此操作...
npm run development --foo=frontend
然后在 webpack.mix.js 中,你可以在你的 foo 变量前加上npm_config_
.
console.log(process.env.npm_config_foo);
MIX_
否则,如果您希望值来自您的 .env 文件,您可能需要在 .env 变量前加上MIX_FOO_VARIABLE=frontend
.
然后,在 webpack.mix.js 中,您可以执行以下操作。
console.log(process.env.MIX_FOO_VARIABLE);
推荐阅读
- c# - 如何在 XUnitTest 中处理 Yes No DisplayAlert?
- node.js - 从 NodeJS 错误调用基于 Jax-ws SOAP 的 Web 服务
- java - google ortools - 从一组数据中排除零并计算出平方偏差
- php - 如何使用复选框使用 HTML、CSS 正确处理 PHP 表单(URL)?
- javascript - 是否可以在标签中使用图像映射?
- sql-server - T-SQL 中 WHERE 子句中的 CASE
- bash - 在 shell 脚本中,如何正确转义双引号,以便可以使用带引号的参数运行命令?
- java - java.security.NoSuchAlgorithmException:(算法:默认,提供者:SunJSSE,类:sun.security.ssl.SSLContextImpl$DefaultSSLContext)
- react-native - React-native-fs 报告成功,但似乎失败,因为没有写入文件
- excel - 根据另一个单元格的开头替换特定的单元格值