Ext. js - Возможно ли с открытым инструментарием и ext. js 7 использовать синтаксис класса es6 - PullRequest
0 голосов
/ 09 января 2020

Сенча объявил на Roadshow в 2017 году, что должна быть возможность использовать синтаксис класса es6 / 2015. Слайды сессии находятся здесь -> https://de.slideshare.net/senchainc/modernizing-the-ext-js-class-system-and-tooling. Но я не заставляю его работать.

Должно ли это быть возможно с последней версией открытого инструмента и доп. js 7?

Если да, как я могу npm -установить или обратиться к правильному доп. js (es6) модули, необходимые в операторах импорта (например, import { Ext, define } from "@extjs/core")?

Есть ли примеры запущенного приложения ext. js с синтаксисом es6?

THX заранее!

Ответы [ 2 ]

1 голос
/ 10 января 2020

Я нашел ответ в сообщении в блоге ... https://www.sencha.com/blog/updates-to-sencha-roadmap/

Это будет функция ext. js 8.0, которая появится позже в этом году. На данный момент это возможно только при использовании Ext Angular, ExtReact или ExtWebComponents.

0 голосов
/ 04 апреля 2020

Технически, вы можете использовать ключевое слово class сегодня (начиная с версии 6.5 - см. https://docs.sencha.com/cmd/6.7.0/guides/whats_new_cmd65.html).

Чего вы не можете сделать, так это смешать class с Ext.define() занятия без каких-либо последствий. Они вряд ли будут решены в ближайшее время, так что просто держите миры отдельно для безопасной меры: используйте Ext.define() для расширения классов Ext JS; если хотите, используйте class для своих классов.

Важным элементом является инструмент для сборки.

Если вам нужен транспортер, для этой цели Sencha Cmd имеет Google Closure Compiler. Используя Sencha Cmd, вы можете создать единый пакет скриптов для вашей страницы, который включает только классы Ext JS, необходимые вашему приложению. Это не позволит вам использовать import или export для включения модулей ES6 в ваше приложение.

Если вы не используете Sencha Cmd, вы можете использовать предварительно созданные ext-all.js или ext-all-debug.js и включите один из них через тег <script> в свой файл разметки. Оттуда, используйте веб-пакет, накопительный пакет или что-то еще, чтобы собрать остальную часть вашего кода. Вы получите доступ к объекту Ext в глобальной области видимости, но другой код может быть в модулях.

По поводу предостережения: в модуле 'use strict' включен по умолчанию. Это не позволит callParent() методу Ext JS определить метод суперкласса, поэтому вы не можете его использовать. Аналогично, метод statics() нельзя использовать, но это редко требуется. Обязательно протестируйте свой код и избегайте вызова метода, который не будет работать в строгом режиме или не будет использовать строгий режим (который не подходит, если вы используете ключевые слова import и export).

...