【问题标题】:Nashorn parsing TypeScriptNashorn 解析 TypeScript
【发布时间】:2018-01-23 11:17:39
【问题描述】:

我看到它建议 JDK 9 中的 Nashorn 应该能够解析 TypeScript,但是当我尝试像这样使用它时:

        Parser              parser = Parser.create();
        CompilationUnitTree tree   = parser.parse(file, new InputStreamReader(stream), null);

在来自https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html 的示例中,纯 JavaScript 示例有效,但下一个添加类型声明的示例出现错误:

jdk.nashorn.internal.runtime.ParserException: a.ts:1:23 Expected , but found :
function greeter(person:string) {
                       ^
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:297)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:282)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.AbstractParser.expectDontAdvance(AbstractParser.java:353)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.AbstractParser.expect(AbstractParser.java:340)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.formalParameterList(Parser.java:3991)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.formalParameterList(Parser.java:3966)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.functionExpression(Parser.java:3802)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.statement(Parser.java:1099)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.sourceElements(Parser.java:909)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.program(Parser.java:844)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.parse(Parser.java:325)
    at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.parse(Parser.java:285)
    at jdk.scripting.nashorn/jdk.nashorn.api.tree.ParserImpl.parse(ParserImpl.java:117)
    at Main.process(Main.java:299)
    at Main.main(Main.java:113)

这肯定看起来解析器只是没有听说过 TypeScript,并且没有明显的语言变体参数。

有没有办法让它工作,我忽略了?

【问题讨论】:

标签: javascript java typescript nashorn


【解决方案1】:

没有。 Nashorn Parser API 不支持 ECMAScript ES5.1 和 ES6 版本以外的任何内容。我写了http://mail.openjdk.java.net/pipermail/nashorn-dev/2015-February/004170.html,但在那封电子邮件中我没有提到任何关于 TypeScript 的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2020-12-03
    • 2017-08-21
    • 2018-11-10
    相关资源
    最近更新 更多