我有一个非常简单的sweet.js文件,我正在尝试编译:
macro @ {
rule {
$exp
}=>{
+ $exp +
}
}
...使用此命令:
sjs -o out.js my_file.js
但没有任何东西可以输出;创建了out.js文件,但它不包含任何内容。起初我认为sweet.js文件本身可能有任何问题,但是当我使用sweet.js在线编辑器测试它时,它按预期工作。
我没有正确使用'sjs'命令吗?还有别的东西我可以忽略吗?
答案 0 :(得分:1)
我在宏定义之外添加了一些代码行后能够编译:
macro @ {
rule {
$exp
}=>{
+ $exp +
}
}
var msg = "Hello";
console.log("message is: " @msg ".");
我误解了我一直在阅读的文档,并认为宏代码本身可以编译成JavaScript文件,但编译器会根据定义的宏和利用已定义宏的代码。