Laravel Mix-是否需要链接才能确保执行顺序?

问题描述 投票:3回答:2

TLDR;

您是否必须链接Laravel Mix方法来维持执行顺序?是否有任何异步方法会阻止人们使用以下非链接模式mix.scripts(); mix.js(); mix.sass();

我进行的一些测试表明我不需要链接。

示例

由于我们Laravel应用的设置方式,我们需要进行多个Laravel Mix设置。我们正在研究创建一个传递给单个webpack.mix.js文件的配置对象,而不是复制[n]粘贴webpack.mix.js文件并在每个文件中到处修改几行。在此文件中,我们将检查是否已配置了各种配置,如果已配置,请运行适当的Mix方法。下面是一个伪代码示例。

if ( config.js ) {
  mix.js( config.js.src, config.js.dist );
}

if ( config.sass ) {
  mix.sass( config.sass.src, config.sass.dist );
}

if ( config.concat ) {

  if ( config.concat.styles ) {

    // Could be more than one set of files that need to be combined, so array.
    config.concat.styles.map( ( files ) => {
      mix.styles( files.src, files.dist );
    }
  }

  if ( config.concat.scripts ) {

    // Could be more than one set of files that need to be combined, so array.
    config.concat.scripts.map( ( files ) => {
      mix.scripts( files.src, files.dist );
    }
  }

}

当前,我们的代码更像您在网络上看到的大多数示例。

mix
  .options()
  .webpackConfig()
  .styles()
  .styles()
  .scripts()
  .js()
  .sass();
laravel-5 webpack laravel-mix mix
2个回答
1
投票

[laravel-mix]抽象化webpack的配置并动态生成webpack config

API implementation的组织是使用带有fluent or chainable interface的Builder模式完成的。这样就可以生成特定的配置,只需要调用必须执行的步骤。

您需要确保webpack.mix.js模块can be properly imported中的代码。

您需要注意自定义任务的顺序,例如copy, copyDirectorycopycopyDirectory。在combine中,combine与它们的异步性质无关。但是,要更改为version

可以按任何顺序调用其他API方法。


0
投票

我进行的一些测试表明我不需要链接。

您绝对正确!

[version用JavaScript编写,并使用v5.0.0

您可以使用custom tasks are run可视化代码执行。

如果查看下面的代码,您会发现不一定需要链接方法来维护执行顺序。

they are run sequentially

您可以形象地显示此代码Laravel Mix

© www.soinside.com 2019 - 2024. All rights reserved.