Sweet.js - 可以在多个文件中使用宏吗?

时间:2014-08-09 12:13:50

标签: javascript macros sweet.js

我已在文件' A'中定义了宏。我想在其他文件中使用宏,例如档案B

这可能吗?我当然知道我可以在文件B中使用宏的编译结果,但我也想在那里使用宏。

A

macro test {
 ...
}

test 1
test 2

test 3
test 4

2 个答案:

答案 0 :(得分:2)

是的,您需要在文件A中使用--module标记和export宏。它已记录here

答案 1 :(得分:1)

你一定可以做到!

您需要导出宏并在编译时将文件名作为参数传递。

看看这个:

<强> set.sjs

macro set {
    rule { $i:ident = $value:lit } => {
        var $i = $value;
    }
}
export set;

<强> id.sjs

macro id {
    rule { $i:ident } => 
    {
        $i;
    }
}
export id;

编译时:

 => # sjs --module ./set.sjs ./id.sjs