问题标签 [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.
javascript - Sweet.js - 将令牌扩展为字符串
我想将令牌扩展为字符串。例如,我有这个宏:
我希望String 1
扩大到"1"
,但它扩大到只是1;
我怎样才能做到这一点?
编辑:这似乎不可能与声明性方法有关,但应该可以通过命令性方法实现(请参阅此评论):
但这仍然用引号扩展。
node.js - 在 Node.js 中将 SweetJS 编译为字符串
在 shell 中,我可以调用 Sweet.js 编译器。
sjs -m macro-providing-module -o output-directory/file.js input-directory/file.sjs
如何从 Node.js 模块内部执行相同操作,而不是输出到指定文件,而是将编译后的输出作为字符串获取?
javascript - Sweet.js: Error: ASSERT: enforest assumes there are tokens to work with
I was creating my macros and there is a bug than pops up (from my point of view) randomly:
I'm not sure about what does this mean but I did my best to encapsulate the problem and I end with this code:
If I invoke foo
macro between parentheses and add the ?
at the end this error is thrown:
But if I remove the parentheses or the ?
it just works
You can see it failing here:
http://sweetjs.org/browser/editor.html#macro%20foo%20%7B%0A%20%20rule%20%7B%20$bar:expr%20?%20%7D%20=%3E%20%7B%20$bar%20%7D%0A%20%20rule%20%7B%20$bar:expr%20%7D%20=%3E%20%7B%20$bar%20%7D%0A%7D%0A%0A(foo%20test%20?)%0A
So please, this is driving me crazy I'm facing this error again and again. It should be related to the :expr
operator, but I can't replace it with ...
because it's so greedy and it selects everything to the last ?
it found.
I can see the line than throws this error is here. But I don't know the context.
Any help?
gruntjs - 如何使用 grunt-sweet?
我想设置grunt sweet,这样我就可以让它开始监视我使用 sweetjs 的文件并在它们发生变化时编译它们。
但是,我是制作 gruntfiles 的新手,该链接中没有足够的信息让我知道如何设置它。搜索使用的文件grunt.loadNpmTasks('grunt-sweet');
我能够找到一个用作模板的文件,但我无法让它工作。
这个 gruntfile
给我
这似乎是成功的,但实际上并非如此。我在这里做错了什么?
我想要的只是让它自动将 src 中的文件编译成 build
javascript - Sweet.js 可以输出到评论吗?
这个问题的标题回答了一切。
我希望有办法做到这一点,但我发现它很难。截至目前,这是我尝试过的。
那没有用:*(
所以然后我尝试了这个。
显然,正如我所想的那样,它会导致语法错误。有没有办法让 sweetjs 输出到评论?
sweet.js - 是否可以在 javascript 中创建一个使多行字符串成为可能的 sweetjs 宏?
我对 sweet.js 真的很陌生。
我很想在 javascript 中使用多行字符串,就像在 EcmaScript 6 中一样:
是否可以制定一个 sweetjs 宏处理(以及如何处理??)?
此外,是否可以像 ES6 一样使用该宏进行字符串插值/模板化?
javascript - sweetjs 添加:''
我正在尝试用 sweetjs 编写一个宏来
至
基本上我想列出一个对象的属性并创建一个具有该属性的空原型。
我写的规则是
如果我有
它扩展到
{ a = 3, b = 3, c = 3;}
但是如果我改变我得到= 3
的: ''
意外的令牌:[... ( a : ) , ...]
(另外我不知道为什么它;
在扩展的末尾添加一个 after c = 3
)
任何想法?
sweet.js - 将 sweet.js 参数转换为字符串
你将如何创建一个从参数到 sweet.js 宏的字符串?例如:
将输出:
当我希望它输出时:
所以第一个参数有引号。
javascript - 用 Sweet.js 匹配一个块的结尾
我正在尝试在 sweet.js 中编写一个case宏,但我不知道如何匹配块的结尾。特别是我想匹配宏调用和包含它的块的末尾之间的代码。例如如果我的宏是myMacro
,代码如下
我希望能够将行与“log2”和“log3”匹配。我的猜测是我不能,但我无法在文档中找到一个明确的定义(指针将不胜感激)。可能吗 ?