如何在typescript转换器中创建const赋值



我可以用以下代码创建变量赋值:

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,
),
)

基于这个答案。

最新更新