Xåp*_* - 5 javascript file mv node.js gulp
我有一个场景,我的一个客户想要将 LESS 文件放入一个src目录(通过 FTP),并让它们自动作为 CSS 输出到一个build目录。对于每个 LESS 文件,一旦创建了其生成的 CSS 文件,就应将其从src目录中删除。我怎样才能用 Gulp 做到这一点?
我的当前gulpfile.js是:
var gulp = require("gulp");
var watch = require("gulp-watch");
var less = require("gulp-less");
watch({ glob: "./src/**/*.less" })
.pipe(less())
.pipe(gulp.dest("./build"));
Run Code Online (Sandbox Code Playgroud)
这成功地检测到新的 LESS 文件被放入src目录中,并将 CSS 文件输出到build. 但之后它不会清理 LESS 文件。:(
使用gulp-clean。
一旦你通过管道传输它,它就会清理你的 src 目录。当然,请在具有不同设置的备份上对其进行测试,如果您无法使其正常工作,请毫不犹豫地执行第二个任务,并在较少的任务完成后使用一些任务依赖项来运行清理。
如果我是对的,当我尝试gulp-clean在 后进行管道传输gulp.dest时,出现了问题,所以我有另一种方法来执行此操作,这是一个具有任务依赖性的示例。
var gulp = require('gulp'),
less = require('gulp-less'),
clean = require('gulp-clean');
gulp.task('compile-less-cfg', function() {
return gulp.src('your/less/directory/*.less')
.pipe(less())
.pipe('your/build/directory'));
});
gulp.task('remove-less', ['less'], function(){
return gulp.src('your/less/directory)
.pipe(clean());
});
Run Code Online (Sandbox Code Playgroud)
那是为了不看任务。然后,您应该watch在 *.less 文件上使用 a ,但您应该让任务remove-less运行而不是less. 为什么 ?由于任务依赖性。
当您调用remove-less任务时,它只会在less任务完成后开始。这样,只有在 less 编译结束后,这些文件才会被删除,而不是在中间抛出错误。
由于我不是专家,这可能不是使其正常工作的完美方法,但它是一个安全且有效的解决方案供您使用。IMO 的理解也很清楚。
| 归档时间: |
|
| 查看次数: |
6503 次 |
| 最近记录: |