我可以用以下代码创建变量赋值:
ts.createVariableStatement(undefined,
[ts.createVariableDeclaration('a', undefined,
ts.createStringLiteral('42'))])
/// yields: var a = 42
但是,我无法创建常量赋值。我很确定它应该这样工作:
ts.createVariableStatement([ts.createModifier(ts.SyntaxKind.ConstKeyword)],
[ts.createVariableDeclaration('a', undefined,
ts.createStringLiteral('42'))])
但这会产生一个错误:
[!] Error: Unexpected keyword 'var'
由于该错误,将发出no javascript。错误消息也非常令人困惑。
试试这个:
ts.createVariableStatement(
[],
ts.createVariableDeclarationList(
[
ts.createVariableDeclaration(
'a',
undefined,
ts.createStringLiteral('42'),
),
],
ts.NodeFlags.Const,
),
)
基于这个答案。