首页 > 解决方案 > Laravel 将一个 sass 混合到多个 css

问题描述

尝试此操作时:

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css/app_blue.css', {
        data: '$theme-bg-primary: #1450d9;'
    })
    .sass('resources/sass/app.scss', 'public/css/app_red.css', {
        data: '$theme-bg-primary: #ba0000;'
    });

npm 的输出是should not contain the item '[...]/app.scss' twice.

如何从一个来源输出 2 个不同的 css 作为 app.scss ?

标签: laravelwebpacklaravel-mix

解决方案


您需要为正在创建的每个主题创建一个存根 scss 文件,而不是将您的数据注入到 mix 调用中。

mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app_red.scss', 'public/css')
   .sass('resources/assets/sass/app_blue.scss', 'public/css')

这些 scss 文件包含app.scss您使用您的data值注入的基础和覆盖。


推荐阅读