0

我有一个非常简单的 sweet.js 文件,我正在尝试编译:

macro @ {
    rule {
        $exp
    }=>{
        + $exp +
    }
}

...使用此命令:

sjs -o out.js my_file.js

但是没有任何输出;out.js 文件已创建,但它不包含任何内容。起初我认为这可能是 sweet.js 文件本身的问题,但是当我使用 sweet.js 在线编辑器对其进行测试时,它可以正常工作。

我没有正确使用“sjs”命令吗?还有什么我忽略的吗?

4

1 回答 1

1

在宏定义之外添加一些代码行后,我能够编译:

macro @ {
rule {
    $exp
}=>{
    + $exp +
   }
}

var msg = "Hello";
console.log("message is: " @msg ".");

我误解了我一直在阅读的文档,并认为只有宏代码本身可以编译成 JavaScript 文件,但编译器会根据定义的宏和使用定义的宏的代码吐出一个 JavaScript 文件。

于 2016-01-09T22:54:05.970 回答