在运行nodejs示例的时候发现报错现象。使用的是express最简单的示例
以下是源码:
extends layout
block content
h1= title
p Welcome to #{title}
mixin users(users)
ul
each user in users
li= user
- users = ['aaa','bbb','ccc']
mixin users(users)
这段代码主要就是使用mixin定义一个循环。运行时报错如下:
$ node app.js
Express server listening on port 3000
Error: f:\nodejsSpace\demo_express\views\index.jade:6
4| h1= title
5| p Welcome to #{title}
> 6| mixin users(users)
7| ul
8| each user in users
9| li= user
Invalid indentation, you can use tabs or spaces but not both
at Object.Lexer.indent (f:\nodejsSpace\demo_express\node_modules\jade\lib\lexer.js:691:15)
at Object.Lexer.next (f:\nodejsSpace\demo_express\node_modules\jade\lib\lexer.js:789:15)
at Object.Lexer.lookahead (f:\nodejsSpace\demo_express\node_modules\jade\lib\lexer.js:122:46)
at Object.Parser.lookahead (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:116:23)
at Object.Parser.peek (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:93:17)
at Object.Parser.tag (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:699:30)
at Object.Parser.parseTag (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:625:
at Object.Parser.parseExpr (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:199
at Object.Parser.block (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:593:25)
at Object.Parser.parseBlock (f:\nodejsSpace\demo_express\node_modules\jade\lib\parser.js:44
GET / 500 353ms
仔细查看源码发现第6行的缩进和上面的缩进方式不同,我第6行直接使用tab进行缩进,结果就报错。
总结如下:在nodejs中必须要统一使用一种缩进方式,否则会报错。