Nodejs 用jade模板引擎,写了5层div就开始报错。you can use tabs or spaces but not both。前面4层都不报错。
Nodejs 用jade模板引擎,写了5层div就开始报错。you can use tabs or spaces but not both。前面4层都不报错。
6 回复
Node.js 使用 Jade 模板引擎时遇到的缩进问题
问题描述:
在使用 Node.js 的 Jade 模板引擎时,我发现当我编写了 5 层嵌套的 div
元素时,Jade 开始报错。错误信息为:“you can use tabs or spaces but not both”。但当我只写前 4 层时,一切正常。
原因分析:
Jade(现在称为 Pug)对缩进非常敏感。它严格区分制表符(tab)和空格(space)。如果你在同一层级混合使用了这两种缩进方式,Jade 就会报错。
示例代码:
假设你有以下的 Jade 模板代码:
doctype html
html
head
title My Page
body
div
div
div
div
div
p This is a paragraph inside the fifth div.
在这个例子中,如果在 div
的嵌套过程中混合使用了制表符和空格,就会导致错误。例如:
doctype html
html
head
title My Page
body
div
div
div
div
div
p This is a paragraph inside the fifth div.
假设你在这个文件中,第 5 层 div
的缩进是用空格,而前面的都是用制表符,这将导致错误。
解决方法:
确保在同一层级的所有元素都使用相同类型的缩进。你可以选择全部使用制表符或者全部使用空格。例如:
doctype html
html
head
title My Page
body
div
div
div
div
div
p This is a paragraph inside the fifth div.
在这个例子中,所有层级的 div
都使用了相同的缩进方式,这样就不会报错了。
总结:
Jade 对缩进非常敏感,确保在同一个层级中使用统一的缩进方式(制表符或空格),可以避免此类错误。
这错误提示不是已经很明显了吗。。。。
看到这个帖子我无语了… 另外我觉得jade的错误提示真不错,简单明了
sublime ,jade 插件 还不错 可以试试