0
我是新來的吞噬框架。我一直在研究一個小型的gdp腳本,它會將Markdown文件傳遞給JSON字符串,然後使用Jade模板呈現最終的HTML。我使用gulp-wrap
將數據傳遞到我的玉模板「文件名」選項需要使用「包含」與「相對」路徑
// md to jade blog
gulp.task('blog',() => {
gulp.src(path.join(dirs.source, dirs.blogs, entries.md))
.pipe(md(marked))
.pipe(plumber())
.pipe(wrap(function(data) {
// read correct jade template from disk
let template = path.join(dirs.source, dirs.layouts, data.contents.template)
// template location is at 'src/_layouts/base-blog.jade'
return fs.readFileSync(template).toString();
}, {
}, {
engine: 'jade'
}))
.pipe(rename({extname:'.html'}))
.pipe(gulp.dest(dest));
});
}
我不斷收到以下錯誤,當我運行它:
Message:
Jade:11
9| //- var pageTitle = config.pageTitle || ''
10|
> 11| include ../_modules/project-list/project-list
12| include ../_modules/about/about
13|
14| doctype html
the "filename" option is required to use "include" with "relative" paths
Details:
path: undefined
任何人都不會有如何解決這個問題的想法?
感謝@Filaton, .pipe(套(功能(數據){// 從磁盤中讀取正確的玉模板 讓模板= path.join (dirs.source,dirs.layouts,data.contents.template) return fs.readFileSync(template).toString(); },{ 漂亮:真, 文件名:path.join(dirs.source,dirs.layouts, '基blog.jade'), BASEDIR:path.resolve(), 配置:配置 }, 我通過設計佈局名稱來解決問題。但它是非常多的嘗試和錯誤,找出我應該把代碼放在gulp-wrap –
是的,我同意關於Jade/Pug/Gulp的文檔可能會更好,但很高興你解決了它。歡迎來到Stack Overflow! :) – filaton