Jam*_*ber 6 javascript node.js browserify gulp pug
我使用jadeify与browserify我的前端使用玉模板.
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();
});
Run Code Online (Sandbox Code Playgroud)
玉文件
.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
Run Code Online (Sandbox Code Playgroud)
需要玉器文件
require('../../views/index.jade')({jamie:'hello'})
Run Code Online (Sandbox Code Playgroud)
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(""); };
Run Code Online (Sandbox Code Playgroud)
一切都是好的
更改jade文件中的任何内容时gulp出错
[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
Run Code Online (Sandbox Code Playgroud)
我怎么能阻止这种打破?
编辑
我已经从gulp-notify中添加了更多关于这些错误的输出......他们实际上并没有帮助我很多.在我看来,他们来自原始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' } } ]
Run Code Online (Sandbox Code Playgroud)
尝试更改转义引号
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>");
因为字符串可能会通过两个不同的解析器 - 第一个解析器解释\"为",第二个解析器会感到困惑。
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |