javascript - Laravel Mix,如何在混合时传递变量?

标签 javascript laravel laravel-5 webpack laravel-mix

所以我有一个 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 的变量,在本地 envs 上设置为 dev,我们将它设置为 app 投入生产。

有什么方法可以使它自动化吗?例如,我可以在混合文件时根据 env 传递变量并设置它吗?

最佳答案

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,
    }
  });

关于javascript - Laravel Mix,如何在混合时传递变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68376829/

相关文章:

php - 运行 composer dump-autoload 时出现错误 255

php - 用唯一 ID 标记按钮并在单击按钮时识别此 ID 值

laravel - Redis多连接多次incr调用不丢数据

mysql - Gcloud 应用程序部署 SQLSTATE[HY000] [2002] 没有这样的文件或目录

laravel - PHP fatal error :在第 72 行的 ..Entrust/EntrustServiceProvider.php 中调用未定义的方法 Illuminate\Foundation\Application::bindShared()

php - 如果可能,当与任何引用都不匹配时,将外键设置为 null

javascript - 如何在移动浏览器的视口(viewport)宽度和高度上将元素居中?

javascript - 如何使用 javascript 替换特定标签内的字符

c# - 在 View 中显示来自 Controller 的 json 数据

php - 统计用户订购产品的时间