0

我想将此代码解析为ast:

const code = `
 class Test {
  constructor(private foo: Foo) { }
 }
`;

但是当我运行时出现错误:

  The keyword 'private' is reserved

这是完整的代码:

import * as escodegen from "escodegen";
import { Parser } from "acorn";

const code = `
class Test {
  
  constructor(private foo: Foo) { }
}
`;

const acorn = Parser.extend(require("acorn-jsx")(), require("acorn-bigint"));

const ast = acorn.parse(code, { ranges: false, ecmaVersion: "latest" });

const output = escodegen.generate(ast);

console.log({ output });

asexplorer.net 中它是有效的。如何让它在codesandbox.io中工作

4

1 回答 1

1

如果你想使用打字稿代码,你想使用打字稿编译器。您可以在此处阅读更多信息:https ://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API

于 2020-12-09T07:17:16.827 回答