我正在使用Gulp,Gulp Jade和Gulp Rename创建一个带有规范网址的静态网站。
目前这个脚本:
gulp.task('jade', function() {
return gulp.src('src/views/**/*.jade')
.pipe(jade({
pretty: true
}))
.pipe(rename(function(path){
if (path.basename=='index'){
return;
}
path.dirname=path.basename.split('-').join('/');
path.basename="index";
}))
.pipe(gulp.dest('./public/'))
callback();
});
允许我编译以下文件:
/src/views/index.jade
>> /public/index.html
(主页)
/src/views/about.jade
>> /public/about/index.html
(关于页面)
这意味着我可以在http://example.com/(对于index.jade)和http://example.com/about/(对于about.jade)拥有规范网址。
但是,我希望能够在URL结构中拥有多个级别。例如,如果我想在URL http://example.com/about/dave/
上有关于Dave的页面,我会这样做:
/src/views/about/dave.jade
>> /public/about/dave/index.html
/src/views/about/dave.jade
>> /public/dave/index.html
答案 0 :(得分:0)
以下是类似的问题:Jade to HTML > index.html inside directory named after jade file您可以找到一个很好的gulp-rename代码示例,它可以正常工作。
答案 1 :(得分:0)
Jade已更名为" Pug"现在,在给定目录作为编译输入时,默认情况下会保留目录结构。
这是一个简单的例子:
帕格来源:
source/
templates/
|-- index.pug
|-- about.pug
partials/
|-- navigation.pug
编译命令:
pug source --out ./build
输出为:
build/
templates/
|-- index.html
|-- about.html
partials/
|-- navigation.html