问题标签 [sweet.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
129 浏览

javascript - Sweet.js - 宏正文中的括号

我想在宏正文中使用括号对表达式进行分组。例如:

Sweet.js 删除所有括号:

我期待下一个输出:

如何在宏体内转义括号?

0 投票
1 回答
117 浏览

sweet.js - 如何在 sweet.js 中匹配冒号?

我认为 sweetjs 将冒号解释为匹配类的标记。如果是这样,我如何逃避使 make sweetjs 匹配它的原样?

这似乎工作得很好

0 投票
1 回答
103 浏览

javascript - 调用方法的 Sweet.js 宏

我正在尝试编写一个sweet.js需要生成方法调用语法的宏obj.method(),但是method作为文字表达式传递给宏。例如:

我有一些接近的东西:

但是,这显然扩展为:

这些额外的括号是从哪里来的,我该如何摆脱它们?我应该使用案例规则#{}吗?我尝试了它的排列,但仍然无法在没有额外括号的情况下成功生成方法调用。

0 投票
2 回答
369 浏览

javascript - Sweet.js 表达式到字符串文字

我正在尝试编写一个将标记转换为字符串的宏。我当前的宏如下所示:

这适用于将标识符转换为字符串,但无法将文字或表达式转换为字符串。这是我的测试用例及其编译成的内容:

编译成:

我希望它编译成:

我以为我可以通过使用expr模式类来实现这一点,但是当我这样做时,我收到了这个错误:

这似乎是由makeValue函数无法处理表达式引起的。

如果有人能给我一些见解,我将不胜感激。

0 投票
1 回答
121 浏览

javascript - 使用 sweet.js 捕获函数调用的参数

我正在尝试编写一个规则来捕获使用 sweet.js 的函数调用的表达式和参数。

这是我当前的宏(不匹配):

以及一些输入和预期输出:

应该输出:

应该输出:

任何帮助将不胜感激。

0 投票
1 回答
135 浏览

javascript - 如何从 sweet.js 导出?

我想在 JS 中为我​​的项目创建一个新的宏命令,我听说过 sweet.js。在我读了一点之后,我找到了解释如何导出命令的页面,但我并不真正了解 Github 系统,而且我总是看到具有类似语法的命令:$ sjs --module ./macros.js my_sweet_code.js而且我不知道我在哪里'应该运行这些命令。因此,如果有人可以解释如何使用这个库以及如何运行 github 命令,我会很高兴。

PS:我看到sweet.js是一个mozilla库,是不是只能在FF上运行?Ff 是的,是否有适用于所有浏览器的解决方案?

0 投票
2 回答
612 浏览

javascript - 使用 sweet.js 生成动态评论

如何转换以下代码段:

到以下输出:

使用sweetjs?

更新

我正在寻找一种将确切的第一个代码片段转换为第二个的方法。包括// type {string}评论。

我想用它来创建一个简单的 DSL 来生成一个代码,用谷歌闭包编译器检查。

0 投票
1 回答
122 浏览

javascript - Sweet.js - How to put variable in identifier name and string variable?

I'm brand new to Sweet.js. My first simple macro is the following

which produces

but I'd like it to produce this:

but any variants I've tried for it haven't worked. Any suggestions?

0 投票
2 回答
108 浏览

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

我在文件“A”中定义了宏。我想在其他文件中使用宏,例如 file B

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

一个

0 投票
0 回答
137 浏览

javascript - Sweet.js 中的嵌套宏

如何使用 Sweet JS 进行嵌套宏?

在这种情况下, b 不是表达式。我可以设置它$e也可以是一个b宏,可以a b test代替a, b test,那是有效的吗?