gpt4 book ai didi

css - 我可以使用 gulp 在 bower_components 下捆绑 sass 和 css 吗

转载 作者:太空宇宙 更新时间:2023-11-04 09:17:47 26 4
gpt4 key购买 nike

我使用 gulp-compass 和 gulp-postcss。我找不到使用 gulp 定位 css 文件和依赖文件公用文件夹(如 webroot/css)的最佳方法。我在下面显示了部分 gulpfile.js。

var postcss = require('gulp-postcss');
var cssnano = require('cssnano');
var atImport = require('postcss-import');
var vendorCssPath =
[
path.join(app_root,'/bower_components/material-design-icons/iconfont/material-icons.css')
];
gulp.task('css', function () {
var processors = [
atImport(),
cssnano()
];
return gulp.src(vendorCssPath)
.pipe(cache('css'))
.pipe(postcss(processors))
.pipe(gulp.dest(path.join(projectDir,'/css')));
});

它适用于 material-icons.css,但此输出不包括依赖于(例如:MaterialIcons-Regular.eot MaterialIcons-Regular.svg MaterialIcons-Regular.woff MaterialIcons-Regular.ijmap MaterialIcons-Regular。 ttf MaterialIcons-Regular.woff2).我希望这些 Assets 使用 gulp 定位公共(public)文件夹。虽然这已经足够了,但如果可能的话,最好将这些文件和使用 gulp-compass 编译的 css 文件捆绑到 css 文件中。

你有什么想法吗?

最佳答案

所以问题是您必须将字体从 bower 依赖项复制到您的构建文件夹(如果您使用其他一些任务来管理字体,则复制到您的 src 文件夹)。最好的方法是制作将复制字体的 gulp 任务(如果您更新依赖项,您可以运行字体任务,它将复制更新的文件)。然后你可以使用 SASS 添加字体:

// FONTS
// ---------------------------------------------------

@mixin font-face($fontFamily, $src, $fontName){
@font-face {
font-family: $fontFamily;
src: url("#{$src}#{$fontName}.eot");
src: url("#{$src}#{$fontName}.eot?#iefix") format("embedded-opentype"),
url("#{$src}#{$fontName}.woff") format("woff"),
url("#{$src}#{$fontName}.ttf") format("truetype"),
url("#{$src}#{$fontName}.svg##{$fontFamily}") format("svg");
}
}

@include font-face('Material Icons', '/assets/build/fonts/MaterialIcons/', 'MaterialIcons-Regular');

您可以将 CSS 包含在您的主 SCSS 文件中,例如在 main.scss 中:

@import './bower_components/material-design-icons/iconfont/material-icons.css';

您可以在此处阅读更多信息 http://google.github.io/material-design-icons/

关于css - 我可以使用 gulp 在 bower_components 下捆绑 sass 和 css 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41672631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com