Max*_*ber 5 sweet.js webpack babeljs
我对JavaScript中的宏很好奇,并对babel-plugin-macros和Sweet.js彼此之间的比较感到困惑。他们都解决相同的问题吗?它们都适合同一工具链吗?
特别是,我希望将这些工具之一与ES2015代码一起使用,这些代码将使用Webpack和Babel转换为ES5,并且不确定这些工具中的任何一个如何与转换进行交互。
是的,他们解决了向 JavaScript“添加”宏的相同普遍问题,但他们确实以不同的方式处理它。首先,它们每个都有不同的定义宏的语法。我不清楚两者是否遵循某种标准。Sweet.js 是独立的,而 babel-plugin-macros 是 Babel 插件。我想可以将它们用作同一工具链的一部分,如果人们更喜欢 Sweet.js,他们可能会这样做。然而,如果已经使用 Babel,那么使用 Babel 插件可能会更容易。
我对深入研究持谨慎态度,因为 JavaScript 似乎还没有标准。在使源映射正常工作方面可能会带来麻烦,特别是在将 Sweet.js 与 Babel 结合使用时。
话虽如此,宏(尤其是使用 Sweet.js 语法)看起来像是对 JavaScript 的非常强大的增强。要是它们能作为 ECMAScript 的标准就好了。
更新
自从我最初的回答以来,我还没有研究过这个细节,但似乎 Sweet.js 现在使用 Babel 作为后端,所以对于这个问题可能有比这个更好的答案。请参阅http://sweetjs.org/doc/1.0/tutorial.html#_babel_backend
| 归档时间: |
|
| 查看次数: |
1414 次 |
| 最近记录: |