如何从laravel mix 迁移到纯Webpack?

And*_*ers 9 laravel webpack laravel-mix

鉴于webpack.mix.js一个新的 Laravel 项目:

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

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css');
Run Code Online (Sandbox Code Playgroud)

仅使用 webpack 和 a 的等价物是webpack.config.js什么?(我希望删除 laravel mix 作为对现有项目的依赖。)

我确实在源代码中找到了这个默认文件,但它没有帮助我。有没有办法可以看到“编译/结果”的 webpack 配置或对应于 laravel 混合默认设置的模板/起点?

小智 7

可以,但是结果不是很满意。

用这个创建一个 JS 脚本:

console.log (JSON.stringify(
    require('./node_modules/laravel-mix/setup/webpack.config.js'), null, 4)
);
Run Code Online (Sandbox Code Playgroud)

并将其保存在 Laravel 项目的根文件夹中。使用 Node 运行它,输出将是 Laravel Mix 接收并输入到 webpack 的配置对象。

但是,此文件很长,涵盖了大量设置,如果您从头开始制作文件,则不需要这些设置。是的,您可以尝试在不破坏输出的情况下删除您认为可以删除的所有额外设置,但最终最好了解 Webpack 的工作原理,以便您可以编写更好的模式调整配置。至少你可以用它来了解它是如何做某些事情的。


str*_*sis 2

使用最近的 laravel-mix,您只需要调用mix.dump()(在webpack.mix.js脚本中)。