节点Jade意想不到的字符#预计的“,`\ n`,`,`,`!`或`=`

我正在使用jadeifyjadeify在我的前端使用jade模板。

Gulp设置

 gulp.task('browserify', function () { var bundler = browserify({entries: ['./frontend/js/app.js']}); var bundle = function () { return bundler .transform(jadeify) .bundle() .pipe(source('app.js')) .pipe(gulp.dest('./public/js')) }; if (global.isWatching) { bundler = watchify(bundler); bundler.on('update', bundle); } return bundle(); }); 

玉文件

 .header h1 Login .content div input(placeholder="Username", name="uname", type="text") input(placeholder="Password", name="pword", type="password") .footer a(href="/signup") span Create an Account 

要求为玉文件

 require('../../views/index.jade')({jamie:'hello'}) 

在app.js中输出

 module.exports = function template(locals) { var buf = []; var jade_mixins = {}; var jade_interp; buf.push("<div class=\"header\"><h1>Login</h1></div><div class=\"content\"><div><input placeholder=\"Username\" name=\"uname\" type=\"text\"/><input placeholder=\"Password\" name=\"pword\" type=\"password\"/></div></div><div class=\"footer\"><a href=\"/signup\"><span>Create an Account</span></a></div>");;return buf.join(""); }; 

一切都很好

在更改玉文件中的任何内容时发生错误

 [14:36:14] gulp-notify: [Compile Error] C:\var\www\mywarhammer.co.uk\frontend\views\index.jade:8 6| var jade_interp; 7| > 8| buf.push("<div class=\"header\"><h1>Login</h1></div><div class=\"content\"><div><input placeholder=\"Username\" name=\"uname\" the an Account</span></a></div>");;return buf.join(""); 9| }; Unexpected character h expected ` `, `\n`, `,`, `!` or `=` while parsing file: C:\var\www\mywarhammer.co.uk\frontend\views\index.jade 

我怎样才能阻止这个突破?

编辑

我已经添加了更多的输出从吞噬通知这些错误…他们实际上并没有帮助我很多。 在我看来,他们来自原始的jade文件:/

 Unexpected character h expected ` `, `\n`, `,`, `!` or `=` while parsing file: C:\var\www\mywarhammer.co.uk\frontend\views\home.jade [ { [Error: C:\var\www\mywarhammer.co.uk\frontend\views\home.jade:8 6| var jade_interp; 7| > 8| buf.push("<div class=\"header\"><h1>Login</h1></div><div class=\"content\"><div><input placeholder=\"Username\" name=\"uname\" type=\"text\"/> ate an Account " + (jade.escape((jade_interp = locals.jamie) == null ? '' : jade_interp)) + "</span></a></div>");;return buf.join(""); 9| }; Unexpected character h expected ` `, `\n`, `,`, `!` or `=` while parsing file: C:\var\www\mywarhammer.co.uk\frontend\views\home.jade] path: 'C:\\var\\www\\mywarhammer.co.uk\\frontend\\views\\home.jade', filename: 'C:\\var\\www\\mywarhammer.co.uk\\frontend\\views\\home.jade', stream: { _readableState: [Object], readable: true, domain: null, _events: [Object], _maxListeners: 10, _writableState: [Object], writable: true, allowHalfOpen: true, _options: [Object], _wrapOptions: [Object], _streams: [Object], length: 1, label: 'deps' } } ] 

尝试更改中的转义引号

buf.push("<div class=\"header\"><h1>Login</h1></div><div class=\"content\"><div><input placeholder=\"Username\" name=\"uname\" type=\"text\"/><input placeholder=\"Password\" name=\"pword\" type=\"password\"/></div></div><div class=\"footer\"><a href=\"/signup\"><span>Create an Account</span></a></div>");

buf.push("<div class='header'><h1>Login</h1></div><div class='content'><div><input placeholder='Username' name='uname' type='text'/><input placeholder='Password' name='pword' type='password'/></div></div><div class='footer'><a href='/signup'><span>Create an Account</span></a></div>");

因为这个string可能经过了两个不同的parsing器 – 第一个解释为" ,第二个parsing器变得困惑。