javascript - 将 jekyll 添加到 yeogurt 生成的 gruntjs 设置后发生堆栈溢出

标签 javascript node.js gruntjs jekyll yeoman

我使用 yeoman 酸奶生成器来启动我的项目。 生成的 grunt 文件使用(据我所知)include-all 和 grunt-jit 来加载模块。

我想做的是将 jekyll 的构建添加到这个文件中。为此,我安装了 grunt-jekyll。之后我在 grunt/config/compile/中创建了一个简单的配置文件并添加了以下内容:

// Configuration for jekyll task(s)
// Compiles the blog
'use strict';

var taskConfig = function(grunt) {

    grunt.config.set('jekyll', {
        options: {                          // Universal options
            bundleExec: true,
            src : '<%= jekyll %>'
        },
        dist: {                             // Target
            options: {                        // Target options
                dest: '<%= dist %>/blog',
                config: '_config.yml,_config.build.yml'
            }
        }
    });

};

module.exports = taskConfig;

创建此文件后,我通过运行“grunt build”测试了 grunt 是否仍在工作,结果证明没有。我收到以下错误:

Running "useminPrepare:html" (useminPrepare) task
Going through dist/index.html to update the config
Looking for build script HTML comment blocks
Fatal error: Maximum call stack size exceeded

我不知道为什么会出现这个错误,因为我没有告诉 grunt 使用 jekyll 做任何事情(除了加载它),所以我不希望有任何改变。删除文件使我的 grunt 设置功能正常运行。

将 jekyll:dist 添加到 grunt/tasks/build.js 会导致类似的错误,但在正确的模块中:

Running "jekyll:dist" (jekyll) task
Warning: Maximum call stack size exceeded Use --force to continue.

我不知道它是否有帮助,但这里有一些关于我的设置的额外信息:

我想我在我的 jekyll 配置文件中犯了一个错误,但我没有看到哪里。如果有人可以帮助我,我将不胜感激。

最佳答案

我不知道为什么这会导致堆栈溢出,但问题是 <%= dist %> 和 <%= jekyll %> 是错误的。它应该是 <%= yeogurt.jekyll %> 和 <%= yeogurt.dist %>。这是因为 yeogurt 是配置对象,请参阅 gruntfile 的第 20 行。

关于javascript - 将 jekyll 添加到 yeogurt 生成的 gruntjs 设置后发生堆栈溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29962982/

相关文章:

javascript - Grunt 不加载外部任务

javascript - DFP 广告管理系统中的折叠空 Div — 问题

javascript - 一种将 Canvas 中的 "toggle"图像当作 gif 的方法

Javascript 拼接正在删除除请求的元素之外的所有内容

javascript - 函数返回带参数的函数

javascript - 使用 grunt 检查远程目录中存在哪些文件

javascript - 使用 JavaScript 获取元素的自定义 css 属性 (-mystyle)

node.js - GET 查询缺失 : Implementing GraphQL Using Apollo On an Express Server

node.js - 如何从 Nodejs 应用程序容器使用 mongodump 命令?

node.js - Grunt.js : Fire livereload as soon a files are modified, 任务完成前