因此,我正在尝试使用NodeJS,Express,Gulp和Jade构建或多或少简单的Web应用程序以进行首次模板化。我最初并不打算使用Gulp,但是在对所有核心功能进行编码之后,我购买了Gulp随附的模板。没有Gulp,一切都会运转良好,但是我不知道如何使它与Gulp一起工作。
这是我的问题:
当我尝试使用gulp / gulp-jade创建html文件时,出现以下错误:
TypeError: /Users/root1/doordeals-be/views/admin-coupon-overview.jade:4
2|
3| block content
4| h1 #{coupon.title}
Cannot read property 'title' of undefined
以下是coupon
如何通过我的Express路线传递到玉石的方法:
router.get('/:couponId', function(req, res, next) {
Coupon.findById(req.params.couponId).populate('dispatch region').exec(function(err, coupon) {
if(err) {
return next(err);
} else {
res.render('admin-coupon-overview', {coupon: coupon});
}
});
});
这是我的牙龈文件:
gulp.task('serve', ['sass', 'templates'], function () {
browserSync.init({
port: 3000,
server: "./",
index: './views/html/index.html',
ghostMode: false,
notify: false
});
gulp.watch('./src/assets/scss/**/*.scss', ['sass']);
gulp.watch('./src/**').on('change', browserSync.reload);
});
gulp.task('templates', function() {
var YOUR_LOCALS = {};
gulp.src('./views/*.jade')
.pipe(jade({
locals: YOUR_LOCALS
}))
.pipe(gulp.dest('./views/html'))
});
基本上就是这样。因此,问题在于,当有人向coupon
发送GET请求时/:couponId
被定义了(因此他必须访问http://my.link.com/SOME-ID),但是Gulp试图在服务器上尽快创建所有HTML文件。开始。
有人知道如何解决这个问题吗?
谢谢。