gpt4 book ai didi

javascript - 使用 gulp-useref 和 gulp-less 编译 LESS?

转载 作者:数据小太阳 更新时间:2023-10-29 04:47:44 28 4
gpt4 key购买 nike

我正在尝试使用 gulp-useref 插件编译我的 LESS 文件,但好像 gulp-less 插件从未在管道中输出我的 LESS 文件的编译版本。 LESS 文件在未编译的情况下与其他 CSS 文件连接在一起。

我尝试仅使用 gulp-less 单独编译我​​的 LESS,它运行良好,但我不知道为什么它似乎与 gulp-useref 插件冲突。

这是我的 gulp 文件:

var gulp = require('gulp');
var rm = require('gulp-rimraf');
var gulpif = require('gulp-if');
var less = require('gulp-less');
var cssmin = require('gulp-minify-css');
var useref = require('gulp-useref');

gulp.task('clean', function () {
return gulp.src(['public'])
.pipe(rm({force: true}));
});

gulp.task('refs', ['clean'], function () {
var assets = useref.assets({searchPath: '.'});

return gulp.src(['templates/**/*.html'])
.pipe(assets)
.pipe(gulpif('*.less', less()))
.pipe(gulpif('*.css', cssmin()))
.pipe(assets.restore())
.pipe(gulpif('*.html', useref()))
.pipe(gulp.dest('public/templates'));
});

预先感谢您的回答!

最佳答案

据我所知,你尝试的是不可能的。

与:

<!-- build:css css/combined.css -->
<link href="css/one.css" rel="stylesheet">
<link href="css/two.css" rel="stylesheet">
<link rel="stylesheet/less" type="text/less" href="less/website.less" />
<!-- endbuild -->

useref.assets 为 css/combined.css 创建一个流,其中包含 css/one.css、css/two.css less/website.less 的内容。由于您的流的名称是 css/combined.css 只有 .pipe(gulpif('*.css', cssmin())) 匹配。

如果使用.pipe(gulpif('*.css', less())),less编译器会把这三个文件的内容都编译成css/combined.css。

所以你可以使用:

    .pipe(gulpif('*.css', less()))
.pipe(gulpif('*.css', cssmin()))

上面使用 Less 编译器编译 *.css 和 *.less 文件(因为 Less 可以编译 css,结果可能如预期)

关于javascript - 使用 gulp-useref 和 gulp-less 编译 LESS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627936/

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