Javascript 如何设置翡翠包含与吞下翡翠

Javascript 如何设置翡翠包含与吞下翡翠,javascript,node.js,gulp,Javascript,Node.js,Gulp,我目前正在使用gulp jade,我正在努力研究如何在我的gulpfile.js中设置jade includes(为了澄清,我在这里指的是这个),下面是我的gulpfile.js中的代码 var gulp=require('gulp'); var browserSync=require('browser-sync'); var sass=需要('gulp-sass'); var-uglify=需要('gulp-uglify'); var jade=需要(“咕噜咕噜咕噜咕噜咕噜咕噜”); var

我目前正在使用gulp jade,我正在努力研究如何在我的gulpfile.js中设置jade includes(为了澄清,我在这里指的是这个),下面是我的gulpfile.js中的代码

var gulp=require('gulp');
var browserSync=require('browser-sync');
var sass=需要('gulp-sass');
var-uglify=需要('gulp-uglify');
var jade=需要(“咕噜咕噜咕噜咕噜咕噜咕噜”);
var jshint=require('gulp-jshint');
var fileinclude=require('gulp-file-include');
var reload=browserSync.reload;
//将jade编译为html
gulp.task('templates',function(){
var YOUR_LOCALS={};
gulp.src(“./app/jade/*.jade”)
.烟斗(翡翠)({
当地人:你的当地人
}))
.pipe(大口目的地('./dist/'))
});
//一旦发生jade编译,重新加载文件
吞咽任务('jade-watch',['templates',],重新加载);
//用于实时注入所有浏览器的Sass任务
吞咽任务('sass',函数(){
gulp.src('./app/scss/*.scss')
.pipe(sass())
.pipe(大口目的地('./dist/css'))
.pipe(重新加载({stream:true}));
});
//单独的任务,用于对js文件做出更改的反应,即使没有编译什么的
gulp.task('compress',function(){
返回gulp.src('./app/js/*.js')
.管道(丑()
.管道(大口目的地('./dist/js'));
});
gulp.task('js-watch',['compress'],reload);
//提供并查看scss/jade文件的更改
gulp.task('default',['sass','templates','compress'],function(){
browserSync({server:'./dist'});
大口喝手表('./app/***.jade',['jade-watch']);
大口喝手表('./app/scss/*.scss',['sass']);
狼吞虎咽的手表('./app/js/*.js',['js-watch']);

});证明它非常简单。有一件事我做错了

  • 我使用的是includes../includes/head而不是includes../includes/head(在grunt中使用includes实际上对我有效,经过进一步研究,我发现我在吞咽时使用它是错误的)

  • 我编写了一个Gulp插件,它通过允许您添加一些任意路径来解析包含和扩展,从而简化了您的包含,这样您就不必太担心相对路径。看看:

    我喜欢这个主意。为了记录在案,我转而专门使用node/npm,而不使用gulp或grunt。从那以后我再也没有回头看:)