gulp和assembly不起作用-抛出“TypeError:助手应为对象”

wmomyfyw  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(115)

你好,自从我在www.example.com上使用我的gulp堆栈已经有一段时间assemble.io,我发现它不起作用;
使用节点v.15.11.0和:

"assemble": "^0.24.3",
    "gulp": "^4.0.2",
    "handlebars": "^4.7.7",
    "handlebars-helpers": "^0.10.0

我任务的一饮而尽:

const   gulp = require('gulp'),          
    extname = require('gulp-extname'),
    assemble = require('assemble')(),  
    helpers = require('handlebars-helpers')(),
    CONFIG = require('../config.js');

gulp.task('assemble', function() {
    assemble.option('layoutDelims', /{{>[ \t]*?(body)[ \t]*?}}/g);
    assemble.option('layout', 'index');
    assemble.option('assets','/Assets');
    assemble.partials('./source/Templates/includes/partials/**/*.html');
    assemble.layouts('./source/Templates/layouts/*.html');
    assemble.pages('./source/Templates/pages/**/*.html');
    assemble.data('./source/Templates/data/**/*.json');
    assemble.helpers('./source/Templates/helpers/**/*.js')

    return assemble.toStream('pages')
      .pipe(assemble.renderFile())
      .pipe(extname())
      .pipe(assemble.dest(CONFIG.PATHS.destinationdir+'/'));
   });

它会抛出以下异常:

TypeError: expected helpers to be an object
at AsyncHelpers.wrapHelpers (/Users/riccardo/Progetti/my-foundation-1/node_modules/async-helpers/index.js:162:11)
at AsyncHelpers.wrapHelper (/Users/riccardo/Progetti/my-foundation-1/node_modules/async-helpers/index.js:142:21)
at AsyncHelpers.wrapHelpers (/Users/riccardo/Progetti/my-foundation-1/node_modules/async-helpers/index.js:177:25)
...

(will如果需要,请提供完整消息)
我没有使用“怪异”的助手,只是简单的部分包含{{>somepartial}}
谢谢你的帮忙

**[编辑]

在同一台PC上的另一个项目上使用"handlebars": "^4.7.6",一切正常;我试图降级到"handlebars": "^4.7.6",但到目前为止没有运气(也许是某个地方的缓存?)

bttbmeg0

bttbmeg01#

可能汇编项目不再维护。上一个版本0.24.3发布于2017年5月20日,它与Node.js的新版本不兼容。我需要使用NVM将Node.js降级到6版本以忽略此错误。

相关问题