是否有一个全局对象可以在jade模板中访问,其中包含各种参数?
是否有一个全局变量,其中包含当前正在执行的jade文件的路径?
!!! 5
html
head
title Test
body
//- I want to be able to know what the current script file is...
p Hello, I am: #{globals.scriptfilename}
是否有一个全局对象可以在jade模板中访问,其中包含各种参数?
是否有一个全局变量,其中包含当前正在执行的jade文件的路径?
!!! 5
html
head
title Test
body
//- I want to be able to know what the current script file is...
p Hello, I am: #{globals.scriptfilename}
gulp-jade
,请将gulp-data
添加到混合物中,并使用此代码:var jade = require('gulp-jade');
var data = require('gulp-data');
gulp.src('**/*.jade')
.pipe(data(function (file) {
return {
relativePath: file.history[0].replace(file.base, '')
};
}))
.pipe(jade())
relativePath
,相对于基本文件夹。file.history
是如何/在哪里生成的,但在我的情况下,[0]
指向原始文件名(带有其在磁盘上的绝对路径)。//gulpfile.js
var $path = require('path'),
jade = require('gulp-jade'),
isProduction = process.env.ENV == 'production';
gulp.task('watch', function() {
gulp.watch("**/*.jade")
.on('change', function(event) {
compileJade(event.path, isProduction);
});
});
function compileJade(path, isCompress) {
gulp.src(path)
.pipe(jade({
pretty: !isCompress,
locals: {
_path_: path,
_basename_: $path.basename(path)
}
}));
}
<!-- #{_path_}, #{_basename_} -->
还有一件事需要注意:在jade注释中,字符串插值不起作用。因此,以下代码将不会在结果HTML文件中被插值:
// #{path}
有一个全局变量。您可以使用Node的util.inspect(object)查看其内容。
它会自动用“[Circular]”替换循环引用,而不像JSON.stringify()
。
使用一个样板Express应用程序,我发现了以下内容:
['node','/Users/mike/Development/test/web.js']
'/Users/mike/Development/test/web.js'
relativePath
? - dopatramangulp-data
的文档。 - fregante