-1

我通过 grunt 插件grunt-nunjucks-2-html将 Nunjucks 与 grunt/node 一起使用

我的根路径是 gruntfile 所在的位置,所以它看起来像这样:

./src
    index.html
    expo.html
    ./inc
        head.html
        header.html

我的 gruntfile 配置如下所示:

nunjucks: {
    render: {
        files: [
            {
                expand: true,
                cwd: 'src/',
                src: "*.html",
                dest: pathbuild,
                ext: ".html"
            }
        ]
    }
},

在我的index.html我有这个:

{% include "inc/head.html" %}

当我尝试grunt nunjucks时,这就是我得到的

Warning: (unknown path) Error: template not found: inc/head.html
Use --force to continue.

如果我将路径更改为可以解决,"src/inc/head/html"但我不明白为什么我需要指定这个,这对我来说似乎不合逻辑。

你有什么要教给我的,我非常想念的东西吗?谢谢。

4

1 回答 1

1

我遇到了同样的问题,在查看插件代码后,我注意到模板路径必须作为数组提供:

nunjucks: {
  options: {
    paths: ['templates'], // 'templates' as a string can now be passed (30Oct2014)
    data: grunt.file.readJSON('results.json')
  },
  render: {
    files: [
       {
          expand: true,
          cwd: "templates/",
          src: "*.html",
          dest: "build/",
          ext: ".html"
       }
    ]
  }
}

我已经发送了一个拉取请求(https://github.com/vitkarpov/grunt-nunjucks-2-html/pull/4),所以如果它被接受,我们将能够以字符串的形式提供模板路径。

14 年 10 月 30 日更新:拉取请求已合并,因此可以将字符串或数组传递给 options.paths。

于 2014-10-29T12:05:20.353 回答