如何将环境参数传递给Laravel Mix 6?



是否有办法通过命令行将参数传递给laravel mix并在webpack.mix.js文件中获取它们?例如,我添加了一行front -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);

最新更新