gpt4 book ai didi

gulp - 模板已使用比当前运行时版本更早的Handlebars进行了预编译

转载 作者:行者123 更新时间:2023-12-04 13:26:34 25 4
gpt4 key购买 nike

我有这个错误,但是this question和我的问题之间的区别是我使用的是gulp而不是grunt。

首先,我的 Handlebars 运行时是 Handlebars v4.0.5(js文件)。

handlebar -v的输出为4.0.5

这是我的 gulpfile.js :

var gulp = require('gulp');
var uglify = require('gulp-uglify');
var handlebars = require('gulp-handlebars');
var wrap = require('gulp-wrap');
var declare = require('gulp-declare');
var concat = require('gulp-concat');

gulp.task('default', ['templates','scripts'], function () {

});

gulp.task('templates', function () {
gulp.src('templates/*.hbs')
.pipe(handlebars())
.pipe(wrap('Handlebars.template(<%= contents %>)'))
.pipe(declare({
namespace: 'MyApp.templates',
noRedeclare: true, // Avoid duplicate declarations
}))
.pipe(concat('templates.js'))
.pipe(gulp.dest('js/dist'));
});

gulp.task('scripts', function () {
return gulp.src([
'bower_components/handlebars/handlebars.runtime.js',
'bower_components/jquery/dist/jquery.js',
'bower_components/bootstrap/dist/bootstrap.js',
'js/dist/templates.js',
'js/main.js'])
.pipe(concat('bundle.js'))
.pipe(uglify())
.pipe(gulp.dest('js/dist/'));
});

Main.js
"use strict";
var data = { title: 'This Form', name: 'Joey' };
var html = MyApp.templates.hellotemplate(data);
// console.log(html);

$(document).ready(function () {
$('#dynamic-content').html(html);
});

我的问题在哪里?

错误:

Uncaught Error: Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (>= 4.0.0) or downgrade your runtime to an older version (>= 2.0.0-beta.1).



我已经使用gulp命令预编译了模板。

太感谢了!!

最佳答案

有一种更好的方法可以使用自述文件中涵盖的特定版本的 Handlebars 来编译模板:https://github.com/lazd/gulp-handlebars#compiling-using-a-specific-handlebars-version

确保已在应用程序的package.json文件中指定了 Handlebars 版本:

{
"devDependencies": {
"handlebars": "^4.0.5"
}
}

然后通过将其作为gulpfile中的gulp-handlebars选项传递来请求 Handlebars :
gulp.task('templates', function () {
gulp.src('templates/*.hbs')
.pipe(handlebars({
handlebars: require('handlebars')
}))
.pipe(wrap('Handlebars.template(<%= contents %>)'))
.pipe(declare({
namespace: 'MyApp.templates',
noRedeclare: true, // Avoid duplicate declarations
}))
.pipe(concat('templates.js'))
.pipe(gulp.dest('js/dist'));
});

关于gulp - 模板已使用比当前运行时版本更早的Handlebars进行了预编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34854010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com