如何在javascript中编译coffeescript代码字符串?

时间:2014-11-09 00:18:10

标签: javascript node.js coffeescript

因此,假设我在nodejs上的javascript文件中有一串coffeescript代码。如何在不使用终端的情况下将此字符串转换为javascript?我试过了coffeescript-compiler,但它给了我关于一个封闭套接字的错误。我在全球安装了coffeescript,并在本地安装了coffee-script编译器。

编辑:这是代码:

var Compiler = require('coffeescript-compiler');
var cc = new Compiler();

cc.compile('a = 5', function (status, output) {
    if (status === 0) {
        // JavaScript available as a string in the `output` variable
    }
});

这是它抛出的错误:

events.js:72
    throw er; //unhandled 'error' event

Error: This socket is closed.
    at Socket._write (net.js:637:19)
    at doWrite (_stream_writable.js:225:10)
    at writeOrBuffer (_stream_writable.js:215:5)
    at Socket.Writable.write (_stream_writable.js:182:11)
    at Socket.write (net.js:615:40)
    at doCompile (D:\TSA\App\node_modules\coffeescript-compiler\Compiler.js:33:15)
    at Compiler.compile (D:\TSA\App\node_modules\coffeescript-compiler\Compiler.js:46:3)
    at Object.<anonymous> (D:\TSA\App\coffeescript.js:4:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

3 个答案:

答案 0 :(得分:2)

CoffeeScript包本身提供了编译器功能,因此对于像您这样的简单用例,它比使用coffee-compiler更容易。你可以用这样的东西得到你想要的东西:

var CoffeeScript = require('coffee-script');
var compiledJS = CoffeeScript.compile('a = 5');

答案 1 :(得分:0)

CoffeeScript编译器会返回一个常规的javascript字符串,但是你需要通过其他东西运行它来要求它。

Dockerfile

答案 2 :(得分:-1)

您可以使用此online converter

或者,CoffeeScript(http://coffeescript.org/)主页有一个标签:“Try CoffeeScript”,您可以在其中粘贴CoffeeScript代码并在JavaScript中查看其等效内容。