ExtJS 6.5类系统

Bar*_*uch 5 javascript extjs extjs6.5

随着上周Sencha CMD和ExtJS 6.5的发布,我很高兴在我的ExtJS项目中使用ES6课程.与此说,"文件"的唯一排序我已经能够找到有关如何在ExtJS的实施ES6类会谈是这个职位从去年十月.虽然它给出了一个例子,但我认为我遗漏了一些东西,因为我在构建过程中遇到了以下错误.

[ERR] C2001: Closure Compiler Error (Character '@' (U+0040) is not a valid identifier start char) -- path/to/project/Foo.js:4
[ERR] C2001: Closure Compiler Error (primary expression expected) -- path/to/projectFoo.js:4:7
Run Code Online (Sandbox Code Playgroud)

Foo.js

import { define }     from 'extjs-kernel'; // module names not final
import { Observable } from 'extjs-core';

import { Base }       from 'app-some';

@define({
    mixins: Observable,
    config: {
        value: null
    }
})
export default class Foo extends Base {
    updateValue (value, oldValue) {
        this.fireEvent('valuechange', value, oldValue);
    }
}
Run Code Online (Sandbox Code Playgroud)

我缺少一个CMD命令吗?如果没有,任何进一步的解释将不胜感激.

注意

我的output财产app.json看起来像这样:

"output": {
    "base": "${workspace.build.dir}/${build.environment}/${app.name}",
    "appCache": {
        "enable": false
    },
    "js": {
        "version": "ES6"
    }
},
Run Code Online (Sandbox Code Playgroud)

sce*_*i66 4

在 Ext JS 6.5 和 Sencha Cmd 6.5 ( https://www.sencha.com/blog/announcing-ext-js-6-5-and-sencha-cmd-6-5-ga ) 中,您几乎可以使用所有ES6 语法,但对 ES6 模块的支持是版本 7 的事情。

来源(sencha的评论来自您提到的同一篇文章):https://www.sencha.com/blog/ext-js-and-es201567-modernizing-the-ext-js-class-system/#comment-65507