拉维尔 5.8。如何在 webpack.mix.js 中使用 .env 文件的变量

标签 laravel webpack environment-variables

我在 .env 文件中做了以下操作: APP_ENV=生产环境 MIX_APP_ENV="${APP_ENV}"

在 webpack.mix.js 文件中: const APP_ENV = process.env.MIX_APP_ENV;

使用 if else 运算符,我检查没有为 APP_ENV 变量分配任何内容。 我需要执行以下操作 - 根据环境,将 sass 和 js 文件编译到特定文件夹中。

我正在尝试执行以下操作,但没有任何效果:

const APP_ENV = process.env.MIX_APP_ENV;

if (APP_ENV == 'dev' || APP_ENV == 'production') {
    mix
        .js('resources/js/app.js', 'js')
        .sass('resources/sass/app.scss', 'css')
        .version();
} else {
    mix
        .setPublicPath('public/build')
        .setResourceRoot('/build/')
        .js('resources/js/app.js', 'js')
        .sass('resources/sass/app.scss', 'css')
        .version();
}

最佳答案

无需在 .env 文件中创建中间变量 MIX_APP_ENV。 以下代码有效:

require('dotenv').config();
const env = process.env.APP_ENV;

关于拉维尔 5.8。如何在 webpack.mix.js 中使用 .env 文件的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55199455/

相关文章:

php - 如何在laravel的 Blade 文件中显示最新的('updated_at')记录

php - Laravel:如何使用 Eloquent 方式在数据库中搜索给定的字符串?

node.js - 如何使 webpack 开发服务器在 80 端口和 0.0.0.0 上运行以使其可公开访问?

去安装。执行自定义操作

python - 有没有办法在循环 Ansible 剧本中的角色时设置环境变量?

java - 设置java类路径时%classpath%是什么意思

php - 如何在 laravel 中设置可下载文件的文件名?

Laravel 任务计划程序 Crontab

Webpack-Dev-Server 一直在寻找 src 文件夹

webpack - 将 vue 模板预编译为渲染函数