【问题标题】:How to create an "Expression" with babylon?如何用巴比伦创造一个“表情”?
【发布时间】:2017-12-09 05:49:55
【问题描述】:

我需要添加一个objectProperty,但它需要key和value:

t.objectProperty(key, value, ...)

并且值必须是“表达式”。我假设它必须是对象表达式:

t.objectExpression(属性)

其中“属性”必须是 ObjectMethod 的数组 ||对象属性 ||传播属性。

但我想首先创建一个 ObjectProperty! 那么什么是“表达式”,如何创建它以创建 ObjectProperty?

【问题讨论】:

  • 不,objectProperty 的 value 部分可以是任意表达式,而不是 objectExpression。实际上是相反的,对象表达式 ({…}) 包含零个或多个对象属性 (key:value) 或方法 (name(…){…}) 或扩展元素 (...…)。
  • @Bergi 看起来我无法在没有 ObjectExpression 的情况下创建 ObjectProperty?好的。但是如何创建 ObjectExpression?
  • 看起来像t.objectExpression([t.objectProperty(key, value), …])
  • 我的意思是如何创造价值,那一定是一个表达式?
  • 那么,你想让什么表达式成为属性的值呢?

标签: javascript babeljs babel-babylon


【解决方案1】:

感谢Bergi,我找到了答案。 一个对象的属性值为字符串的例子:

t.objectExpression([
  t.objectProperty(
  t.identifier('key'),
  t.stringLiteral('value'),
)]);

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 2020-04-19
    • 2020-09-13
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    相关资源
    最近更新 更多