【问题标题】:Laravel mix, faster sass compilation with many ouput filesLaravel mix,带有许多输出文件的更快的 sass 编译
【发布时间】:2021-11-14 01:36:55
【问题描述】:
上下文:
您好,我正在开发一个包含大量可重用块的网站,每个块都有一个单独的 scss 和 js 文件。
为了优化性能,我将 mix 配置为在单独的文件中输出 css,因此只有在当前页面上存在相应的块时才能加载它们。
这很好,除了现在重新编译 mix 需要 40 多秒(而不是单个输出文件需要 6 秒),这大大减慢了我的工作速度......
问题:
在这种情况下如何让混合编译更快,是否可以只重新编译修改后的文件?
【问题讨论】:
标签:
javascript
webpack
sass
laravel-mix
【解决方案1】:
你在使用version() 对象吗?我认为您可以在不更改时缓存版本。
这是一个非常基本的示例,希望对您有所帮助。
/*
* JS
* */
mix.setResourceRoot('/public/assets/admin/')
.js('resources/js/app.js', 'public/assets/admin/')
.version();
/*
* Styles
* */
mix.styles([
'public/assets/admin/plugins/bootstrap/css/bootstrap.min.css',
'public/assets/admin/css/style.min.css',
], 'public/assets/admin/app.css');
mix.sass('resources/sass/app.scss', 'public/assets/admin/app.css').options({
postCss: [
require('autoprefixer'),
],
}).version();