如何在打字稿转换器中创建 const 赋值?
How can I create a const assignment in a typescript transformer?
我可以用这段代码创建变量赋值:
ts.createVariableStatement(undefined,
[ts.createVariableDeclaration('a', undefined,
ts.createStringLiteral('42'))])
/// yields: var a = 42
但是我无法创建 const 赋值。我很确定它应该像这样工作:
ts.createVariableStatement([ts.createModifier(ts.SyntaxKind.ConstKeyword)],
[ts.createVariableDeclaration('a', undefined,
ts.createStringLiteral('42'))])
但这会产生错误:
[!] Error: Unexpected keyword 'var'
由于该错误,没有发出 javascript。错误信息也很混乱。
试试这个:
ts.createVariableStatement(
[],
ts.createVariableDeclarationList(
[
ts.createVariableDeclaration(
'a',
undefined,
ts.createStringLiteral('42'),
),
],
ts.NodeFlags.Const,
),
)
基于this answer.
我可以用这段代码创建变量赋值:
ts.createVariableStatement(undefined,
[ts.createVariableDeclaration('a', undefined,
ts.createStringLiteral('42'))])
/// yields: var a = 42
但是我无法创建 const 赋值。我很确定它应该像这样工作:
ts.createVariableStatement([ts.createModifier(ts.SyntaxKind.ConstKeyword)],
[ts.createVariableDeclaration('a', undefined,
ts.createStringLiteral('42'))])
但这会产生错误:
[!] Error: Unexpected keyword 'var'
由于该错误,没有发出 javascript。错误信息也很混乱。
试试这个:
ts.createVariableStatement(
[],
ts.createVariableDeclarationList(
[
ts.createVariableDeclaration(
'a',
undefined,
ts.createStringLiteral('42'),
),
],
ts.NodeFlags.Const,
),
)
基于this answer.