如何将 env 参数传递给 Laravel Mix 6?
How to pass env parameters to a Laravel Mix 6?
有没有什么方法可以通过命令行将参数传递给 laravel 混音并在 webpack.mix.js 文件中获取它们?例如,我添加了 frontend-dev 行,但是在 运行ning "yarn 运行 frontend-dev".
之后我无法获取 "foo" 变量
package.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);
否则,如果您希望值来自您的 .env 文件,您可能需要在您的 .env 变量前加上 MIX_
前缀,例如 MIX_FOO_VARIABLE=frontend
.
然后,在 webpack.mix.js 中,您可以执行以下操作。
console.log(process.env.MIX_FOO_VARIABLE);
有没有什么方法可以通过命令行将参数传递给 laravel 混音并在 webpack.mix.js 文件中获取它们?例如,我添加了 frontend-dev 行,但是在 运行ning "yarn 运行 frontend-dev".
之后我无法获取 "foo" 变量package.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);
否则,如果您希望值来自您的 .env 文件,您可能需要在您的 .env 变量前加上 MIX_
前缀,例如 MIX_FOO_VARIABLE=frontend
.
然后,在 webpack.mix.js 中,您可以执行以下操作。
console.log(process.env.MIX_FOO_VARIABLE);