Laravel Mix将Scss转换为CSS,然后与其他CSS文件合并

时间:2018-08-03 02:21:52

标签: laravel-mix npm-scripts

目前,我正在使用webpack.mix.js在Laravel 5.6中将JS和CSS转换为一个文件。我在JS资产目录的app.js文件中合并了一些JS文件。关于CSS,我在CSS资产目录中有一个SCSS文件,我将其转换为CSS文件,然后与NPM中的其他CSS文件合并。为此,我将CSS文件生成到/public/css/app.css中,然后将该文件与其他CSS文件合并到相同的/public/css/app.css文件中,从而将其覆盖。所有这些都可以,并且代码如下:

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/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css')
   .styles([
        'node_modules/bootstrap/dist/css/bootstrap.css',
        'node_modules/font-awesome/css/font-awesome.css',
        'node_modules/weather-icons/css/weather-icons.css',
        'public/css/app.css',
    ], 'public/css/app.css')
   .copyDirectory('node_modules/weather-icons/font', 'public/font')
   .copyDirectory('node_modules/font-awesome/fonts', 'public/fonts');

当我尝试开始对文件进行版本控制时,通过在末尾添加.version(),我无法将CSS与其他CSS文件合并。混合版本会自动对所有生成的文件进行版本控制,因此最终会生成两个版本化的app.css文件。如何生成一个临时文件,然后与其他CSS文件合并?

0 个答案:

没有答案