El compilador coffeescript está, por alguna razón, envolviendo todos mis archivos .coffee en una función cuando se compilan. Por ejemplo, si tengo test.coffee:Coffeescript que envuelve archivos en una función
class TestClass
constructor: (@value) ->
printValue:() ->
alert(@value)
printAValue =() ->
test = new TestClass()
test.printValue()
en cuando me siento Test.js:
(function() {
var TestClass, printAValue;
TestClass = (function() {
function TestClass(value) {
this.value = value;
}
TestClass.prototype.printValue = function() {
return alert(this.value);
};
return TestClass;
})();
printAValue = function() {
var test;
test = new TestClass();
return test.printValue();
};
}).call(this);
Mi simple archivo html no funcionará con esto:
<html>
<head>
<script src="test.js"></script>
</head>
<body onload="printAValue()">
</body>
</html>
I no he trabajado con mucho JS antes, y no dudaría del compilador de café, pero ¿es la forma en que debería funcionar? Cómo
Intente cambiar su línea coffeescript para pasar un valor al inicializador TestClass -'test = new TestClass ('hello world') ' – arunkumar
Vea [mi respuesta aquí] [1] sobre el código compartido entre archivos/módulos JS. [1]: http://stackoverflow.com/questions/6951438/accessing-document-within-coffeescripts-default-wrapper/6951641#6951641 –
esto es, con mucho, la pregunta más popular preguntó acerca de CoffeeScript ASI QUE. Consulte http://stackoverflow.com/q/6481986/66226, http://stackoverflow.com/q/4214731/66226, http: //stackoverflow.com/q/5693211/66226 ... –