Laravel Mix:一行编译所有SCSS文件
我一直在研究Laravel项目,并且我的资源文件夹中有许多.SCSS文件。因此,通常我只会像这样写它们,
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')
.js('resources/js/header.js', 'public/js')
.sass('resources/sass/file1.scss', 'public/css')
.sass('resources/sass/file2.scss', 'public/css')
.sass('resources/sass/file3.scss', 'public/css')
.sass('resources/sass/file4.scss', 'public/css')
.sass('resources/sass/file5.scss', 'public/css')
.sass('resources/sass/file6.scss', 'public/css')
.sass('resources/sass/file7.scss', 'public/css')
.sass('resources/sass/file8.scss', 'public/css')
.sass('resources/sass/file9.scss', 'public/css')
.sass('resources/sass/file10.scss', 'public/css')
.sourceMaps();
有某种方法可以缩短它,而不是编码.sass(源,目的地),而是像源阵列一样将其写入,然后是目的地?在不将所有文件合并到一个CSS的情况下,因为当然,每个SASS文件都有自己的页面。喜欢.sass([array_source],目的地)?
I've been working on a laravel project and I've had many .scss files in my resource folder. So usually I would just write them like this
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')
.js('resources/js/header.js', 'public/js')
.sass('resources/sass/file1.scss', 'public/css')
.sass('resources/sass/file2.scss', 'public/css')
.sass('resources/sass/file3.scss', 'public/css')
.sass('resources/sass/file4.scss', 'public/css')
.sass('resources/sass/file5.scss', 'public/css')
.sass('resources/sass/file6.scss', 'public/css')
.sass('resources/sass/file7.scss', 'public/css')
.sass('resources/sass/file8.scss', 'public/css')
.sass('resources/sass/file9.scss', 'public/css')
.sass('resources/sass/file10.scss', 'public/css')
.sourceMaps();
is there some way to shorten this so instead of coding .sass(source,destination), write it in like an array of source then the destination? Without merging all files into one css, because of course, each sass file has its own page it is used for. like .sass([array_source], destination)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
2种方法:
第一方式:
制作一个名为
app.scss
内部的文件@import“ file.scss”
包括所有文件。然后
.sass('Resource/Sass/App.scss','public/css')
但是,这将使所有文件成为一个文件。这可能不是您所追求的。
第二种方式:
这将使它们全部放在单个文件中。
2 ways:
1st way:
Make a file called
app.scss
and inside of this@import "file.scss"
include all files.then
.sass('resources/sass/app.scss', 'public/css')
This will however make all files a single file. This may not be what you are after.
2nd way:
This will keep them all in single files.