Laravel Mix:将 Sass 编译为 .css 和 min.css

mos*_*oso 5 sass webpack laravel-mix

我已经把头撞到墙上了。

对于我的项目,我希望 Laravel Mix/webpack 将一个.scss文件编译成两个文件,一个常规的、未缩小的(扩展或嵌套).css文件和一个缩小的(压缩).min.css文件,所以我基本上拥有这两个文件。

我尝试过:

mix.sass('src', 'output')
   .copy('output.css', 'output.min.css')
   .minify('output.min.css');
Run Code Online (Sandbox Code Playgroud)

但是,这会导致错误,因为该.css文件未编译。

我知道 Laravel Mix 在运行时会缩小npm run production,但我对两个文件感兴趣,而不仅仅是production编译的文件。

有什么办法可以做到这一点,而不修改整个 webpack 配置吗?

llo*_*bet 0

Laravel Mix/Webpack 在 package.json 文件中有一些预构建脚本。保持如下:

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

当你想缩小 css 时,请npm run production在控制台中执行,否则npm run development.

编辑:如果你想同时进行 sassed 和 minified 流,请分别进行:

mix.sass('src', 'output');
mix
.sass('src', 'output')
.minify('output.min.css');
Run Code Online (Sandbox Code Playgroud)