Sweet.js没有输出任何东西

时间:2016-01-09 18:43:19

标签: javascript macros sweet.js

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

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

...使用此命令:

sjs -o out.js my_file.js

但没有任何东西可以输出;创建了out.js文件,但它不包含任何内容。起初我认为sweet.js文件本身可能有任何问题,但是当我使用sweet.js在线编辑器测试它时,它按预期工作。

我没有正确使用'sjs'命令吗?还有别的东西我可以忽略吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

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