【问题标题】:Laravel Mix, how to pass variable while mixing?Laravel Mix,如何在混合时传递变量?
【发布时间】:2021-09-23 08:37:16
【问题描述】:

所以我有一个 JS 文件,我想使用 Laravel mix 进行混合、复制和压缩;我的webpack.mix.js 文件如下所示:

const mix = require('laravel-mix');

mix.js('resources/js/foo/foo.js', 'public/foo.js');
mix.copy('public/foo.js', 'public/js/foo.js');
mix.version();

问题是foo.js 有一个名为env 的变量,在本地环境中设置为dev,而我们在生产环境中将其设置为app

有没有办法让我自动化?比如我可以在混合文件时根据env传递变量并设置这个吗?

【问题讨论】:

    标签: javascript laravel laravel-5 webpack laravel-mix


    【解决方案1】:

    https://laravel-mix.com/extensions/string-replace

    npm i laravel-mix-string-replace 安装包

    这就是我在混合文件中解决它的方法:

    const pixelEnv = process.env.APP_ENV == "local" ? 'dev' : 'app';
    mix.js('resources/js/foo/foo.js', 'public/foo.js').stringReplace({
        test: /foo.js/,
        loader: 'string-replace-loader',
        options: {
          search: 'PIXEL_ENV',
          replace: pixelEnv,
        }
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-08
      • 2020-01-30
      • 1970-01-01
      • 2021-08-19
      • 2021-08-19
      • 2021-09-26
      • 2021-10-08
      • 2023-02-03
      相关资源
      最近更新 更多