当我第一次玩CoffeeScript时,我遇到了一个问题.为了调试我的问题,我尝试用咖啡脚本站点中的一个示例代码替换我的整个文件:
kids =
brother:
name: "Max"
age: 11
sister:
name: "Ida"
age: 9
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译该代码时,我得到:
Error: In coffee/main.coffee, Parse error on line 3: Unexpected 'INDENT'
at Object.parseError (/usr/lib/coffeescript/parser.js:501:11)
at Object.parse (/usr/lib/coffeescript/parser.js:573:32)
at Object.compile (/usr/lib/coffeescript/coffee-script.js:23:22)
at /usr/lib/coffeescript/command.js:99:27
at /usr/lib/coffeescript/command.js:72:28
at fs:84:13
at node.js:773:9
In coffee/main.coffee, Parse error on line 3: Unexpected 'INDENT'
Run Code Online (Sandbox Code Playgroud)
由于这是来自CoffeeScript网站的代码,我认为代码本身不是问题.但是,编译器似乎也正常工作; 如果我编译:
a = 2
Run Code Online (Sandbox Code Playgroud)
它生成一个文件:
(function(){
var a;
a = 2;
})();
Run Code Online (Sandbox Code Playgroud)
正如所料.所以换句话说,代码很好,编译器很好,但不知怎的,我得到了这个意外的'IDENT'错误......任何人都可以帮我理解发生了什么?
the*_*ejh 67
我很确定这是一个制表符与空格的问题.如果是这样,请告诉编辑不要将空格转换为制表符.此外,使用光标检查代码并确保它不会跳过空白区域.
问题是,虽然普通编辑器看到一个标签相当于两个或四个空格,但coffeescript将其视为一个空格,因此缩进变得混乱.
如果这一切都没有帮助,请确保您有最新的coffeescript版本,例如1.1.0或更新版本.
如果您使用的是JetBrains IDE(IntelliJ,PHPStorm等),那么对我有用的设置更改为:
文件>设置>项目设置>代码样式> CoffeeScript>选项卡和缩进
勾选"使用标签字符"和"智能标签"
| 归档时间: |
|
| 查看次数: |
31135 次 |
| 最近记录: |