tutorial react rails objects loop for coffeescript

react - objects coffeescript



''INDENT'' inesperado en el código de ejemplo de CoffeeScript (6)

Cuando estaba jugando por primera vez con CoffeeScript, me encontré con un problema. Para depurar mi problema, intenté reemplazar mi archivo completo con uno de los bits de código de ejemplo del sitio de script de café:

kids = brother: name: "Max" age: 11 sister: name: "Ida" age: 9

Sin embargo, cuando intento compilar ese código, obtengo:

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''

Dado que este es un código del sitio de CoffeeScript, asumo que el código en sí no es el problema. Sin embargo, el compilador también parece estar funcionando correctamente; si compilo

a = 2

genera un archivo con:

(function(){ var a; a = 2; })();

como se esperaba. Entonces, en otras palabras, el código es bueno, el compilador es bueno y, sin embargo, de alguna manera recibo este error "IDENT" inesperado ... ¿alguien puede ayudarme a entender qué está pasando?


Cuando en Atom puedes convertir automáticamente las pestañas en espacios:

Packages > Whitespace > Convert Tabs to Spaces


El código está bien. Asegúrese de no haber arruinado el espacio en blanco (caracteres de control extraños que aparecen como espacios en blanco, pestañas o similares).


Estoy bastante seguro de que esto es un problema de tabs-vs-espacios. Dígale a su editor que no convierta espacios en pestañas si lo hace. Además, revise su código con el cursor y asegúrese de que no salte sobre las áreas en blanco.

El problema es que mientras los editores normales ven una pestaña como equivalente a dos o cuatro espacios, coffeescript la ve como un espacio, por lo que la sangría se desordena.

Si todo esto no ayuda, asegúrese de tener una versión reciente de coffeescript, por ejemplo, 1.1.0 o más reciente.


Puede resolver esto de dos maneras 1. SI usa Webstorm File-> Default Settings como se mencionó anteriormente 2. Otra solución es usar un editor diferente como Sublime, puede presionar enter en la línea anterior y se lo tabulará automáticamente. espacios


Si está utilizando un IDE de JetBrains (IntelliJ, PHPStorm, etc.) el cambio de configuración que funcionó para mí es:

Archivo> Configuración> Configuración del proyecto> Estilo de código> CoffeeScript> Tabulaciones y sangrías

Marque "Usar carácter de tabulación" y "Pestañas inteligentes"


Si tiene el mismo problema, pero su sangría está bien,
entonces usted debe estar sufriendo de error 2868 .

Básicamente, el error es engañoso. Comprobar si hay sangría
Errores en los archivos require .