现象:通过html生成jade文件之后,更改jade文件时,在语句没什么问题的情况下,jade文件编译不通过,并且报错:Invalid indentation,you can use tabs or spaces but not both。
原因:错误信息已经给出,是因为jade文件里出现了多余的空格导致文件编译不通过。
解决方法:在代码编辑器中设置tab替换空格。
题主使用的Sublime Text3,具体步骤如下:
1. 菜单栏里点击 Preferences-> Setting-User
- 在弹出来的文本里,添加如下两行:
{
// 注意只有一个大括号,如果之前有属性,如在之前的属性前确保有 ,(逗号)
*“tab_size”: 4,
“translate_tabs_to_spaces”: true***
//若要在保存时自动把tab 转换成空格,请把下面一行设置成 true,如不需要: 设置成 false
“expand_tabs_on_save”: true
}
如图:
设置完成!
如果是webstorm,在webstorm中设置方法如下:preference->Code Style->jade->Tabs and Indents->勾选Use Tab charactor。就可以了。
然后,点 view->Active Editor->Show Whitespaces,这样就很方便地查看哪里的空格有问题了。或者直接在preference里面设置:preference->Editor->Appearance->勾选Show whitespaces
PS:
有时候报错信息不准确的,虽然报的是A.jade文件的错误,但是不是A文件有问题,而是B文件有问题。