简而言之:
export const abc = 123;
如何使用AST生成此类表达式?
使用此代码
return ts.createPropertySignature(
[ts.createToken(ts.SyntaxKind.ExportKeyword), ts.createToken(ts.SyntaxKind.ConstKeyword)],
"abc",
undefined,
undefined,
undefined //initializer
);
我只有
export const abc;
不知道如何制作初始化器。没有文档。 Google没用。
答案 0 :(得分:2)
我认为您没有为要实现的目标创建正确的节点。属性签名节点被创建为接口的一部分。例如,这将创建一个属性签名:
ts.createVariableStatement(ts.createModifiersFromModifierFlags(ts.ModifierFlags.Export),
ts.createVariableDeclarationList([
ts.createVariableDeclaration("abc", undefined, ts.createLiteral(5))
]))
如果要创建导出的变量,则需要创建带有声明列表的变量语句。
>>> search_term ="MG"
>>> my_list = ['ADMISSION' ,'Colace','100','mg', 'b.i.d.' , 'insulin','Lente','12']
>>> [item.lower() for item in my_list ].index(search_term .lower())
3
注意:我怎么知道的?很简单,有一个AST可视化工具,可以帮助您找出为一段代码生成的节点。 See here