“filename”选项是使用“include”和“relative”路径所必需的

时间:2017-08-22 09:39:03

标签: gulp pug gulp-wrap

我是 gulp 框架的新手。我一直在研究一个小的 gulp 脚本,它将Markdown文件传输到JSON字符串,然后使用 Jade 模板呈现最终的HTML。我正在使用gulp-wrap将数据传递到我的jade模板

// 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

有没有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

错误信息非常清楚:

  

"文件名"选项需要使用" include"用"亲戚"路径

所以:

  • 要么找到传递"文件名的方法"使用-p

    选择您的Jade / Pug命令
    > pug --help
    [...]
        -p, --path <path>      filename used to resolve includes  
    
  • 或使您的文件路径绝对