Reputation: 730
I want to compile this .jade
file using gulp. but i am getting some errors. with a gulp task i am compiling a batch of .jade
files , files with out a variable compiles just fine, the file bellow where the compilation gets stuck
extends layout
block header
meta(content=entry.Title, itemprop="name")
block genre
meta(content="/book/#{entry.authurl}/#{entry.titleurl}", itemprop="url")
.row.text-center
if (entry.Fields.length !== 0)
h2.col-xs-12.col-md-12
each field, index in entry.Fields
if (index === 0)
= field
else
= " >> " + field
if (entry.Subfields.length !== 0)
h3.col-xs-12.col-md-12
each subfield, index in entry.Subfields
if (index === 0)
= subfield
else
= " >> " + subfield
block content
input(id="bookid",value="#{entry._id}",type="hidden")
section.row
h1.col-xs-12.col-md-12= entry.Title
dl.col-xs-12.col-md-8.dl-horizontal
dt
dd.text-right
span.stars <span class="glyphicon glyphicon-star" aria-hidden="true"></span> <span class="glyphicon glyphicon-star" aria-hidden="true"></span> <span class="glyphicon glyphicon-star" aria-hidden="true"></span> <span class="glyphicon glyphicon-star" aria-hidden="true"></span> <span class="glyphicon glyphicon-star" aria-hidden="true"></span>
span.library <span class="glyphicon glyphicon-option-vertical" aria-hidden="true"></span> <span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <span class="glyphicon glyphicon-heart" aria-hidden="true"></span> <img src="/booklist/bibtex_icon_small.png" class="get-bibtex" alt="Get BibTeX!">
each val, index in entry.attrs
dt= index
if (index == "Author")
dd(id=index) <a href="/author/#{entry.authurl}">#{val}</a>
else if (index == "Authors")
dd(id=index)
each auth, ind in entry.attrs.Authors
if (ind === 0)
<a href="/author/#{entry.authurls[ind]}">#{auth}</a>
else
| , <a href="/author/#{entry.authurls[ind]}">#{auth}</a>
else
dd(id=index)= val
block voteon
aside.col-xs-12.col-md-4#ref
block cataside
h4
strong Appears on:
if (typeof(Lists) === "undefined")
| An error occurred.
else
ul.list-unstyled
each list in Lists
li
a(href="/list/" + list.listurl)= list.Title
if (Lists.length > 9)
p
a(href="/lists?" + entry.Title) All lists
.row
aside.col-xs-12.col-md-4.small
strong Associated Links
ul.list-unstyled
each link in entry.Links
li= link
button.newlink Add a link
.col-xs-12.col-md-8
p Write a Review
each review in entry.Reviews
h5= review.title
article= review.body
when i execute gulp command
this error log shows up:
events.js:141
throw er; // Unhandled 'error' event
^
TypeError: /Users/Orion/NodeWorks/WebDev/views/entry.jade:4
2|
3| block header
> 4| meta(content=entry.Title, itemprop="name")
5| block genre
6| meta(content="/book/#{entry.authurl}/#{entry.titleurl}", itemprop="url")
7| .row.text-center
Cannot read property 'Title' of undefined
at eval (<anonymous>:228:47)
at eval (<anonymous>:994:22)
at res (/Users/Orion/NodeWorks/WebDev/node_modules/jade/lib/index.js:219:38)
at DestroyableTransform.CompileJade [as _transform] (/Users/Orion/NodeWorks/WebDev/node_modules/gulp-jade/index.js:34:50)
at DestroyableTransform.Transform._read (/Users/Orion/NodeWorks/WebDev/node_modules/gulp-jade/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:159:10)
at DestroyableTransform.Transform._write (/Users/Orion/NodeWorks/WebDev/node_modules/gulp-jade/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:147:83)
at doWrite (/Users/Orion/NodeWorks/WebDev/node_modules/gulp-jade/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:313:64)
at writeOrBuffer (/Users/Orion/NodeWorks/WebDev/node_modules/gulp-jade/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:302:5)
at DestroyableTransform.Writable.write (/Users/Orion/NodeWorks/WebDev/node_modules/gulp-jade/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:241:11)
at write (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:623:24)
at flow (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:632:7)
at DestroyableTransform.pipeOnReadable (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:664:5)
at emitNone (events.js:67:13)
at DestroyableTransform.emit (events.js:166:7)
at emitReadable_ (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:448:10)
at emitReadable (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:444:5)
at readableAddChunk (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:187:9)
at DestroyableTransform.Readable.push (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:149:10)
at DestroyableTransform.Transform.push (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:145:32)
at afterTransform (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:101:12)
at TransformState.afterTransform (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:79:12)
at DestroyableTransform.noop [as _transform] (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/through2.js:26:3)
at DestroyableTransform.Transform._read (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:184:10)
at DestroyableTransform.Transform._write (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:12)
at doWrite (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:237:10)
at writeOrBuffer (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:227:5)
at DestroyableTransform.Writable.write (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:194:11)
at write (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:623:24)
at flow (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:632:7)
at DestroyableTransform.pipeOnReadable (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:664:5)
at emitNone (events.js:67:13)
at DestroyableTransform.emit (events.js:166:7)
at emitReadable_ (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:448:10)
at emitReadable (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:444:5)
at readableAddChunk (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:187:9)
at DestroyableTransform.Readable.push (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:149:10)
at DestroyableTransform.Transform.push (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:145:32)
at afterTransform (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:101:12)
at TransformState.afterTransform (/Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:79:12)
at /Users/Orion/NodeWorks/WebDev/node_modules/gulp/node_modules/vinyl-fs/lib/src/getContents/bufferFile.js:12:5
at FSReqWrap.readFileAfterClose [as oncomplete] (evalmachine.<anonymous>:380:3)
i am guessing this is related to variables,how can i make it work ?
Upvotes: 0
Views: 101
Reputation: 3431
It seems like you don't pass your entry
variable to your jade templates. If you want to use data in jade
files you need to pass it in your gulp
task like this:
var gulp = require('gulp'),
jade = require('gulp-jade');
gulp.task('jade', function () {
gulp.src('jade/index.jade')
.pipe(jade({
// Pass data to templates
data: {
entry: {
Title: 'My page title',
authurl: '/some/url/' //... and so on
}
}
})
.pipe(gulp.dest('html/'))
});
h1= entry.Title
p Url is #{entry.authurl}
Upvotes: 1