Используйте Moment.js в проекте extjs - PullRequest
0 голосов
/ 31 августа 2018

Я занимаюсь разработкой проекта Extjs с использованием версии 6.5.2 и современного инструментария, я хочу использовать пакет https://momentjs.com/, но я не смог импортировать node_dependency. На странице Momentjs есть методы загрузки или установки, но если я загружаю код, где я хочу использовать любой метод, это вызывает исключение, и если я устанавливаю пакет с помощью команды 'npm install moment --save', я не знать, как импортировать и называть его.

Кто-то может помочь мне импортировать эту зависимость в extjs.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Другой подход был бы к Ext.mixin.Mashup mixin.

Этот миксин позволяет пользователям легко запрашивать внешние скрипты в своих классы. Этот процесс загрузки задерживает запуск приложения (Ext.onReady) пока все такие скрипты не будут загружены, гарантируя, что ваш класс будет иметь доступ к необходимым сценариям с самого начала.

Таким образом, у вас может быть класс адаптера Moment.js, например:

Ext.define('MomentjsAdapter', {
    mixins: ['Ext.mixin.Mashup'],

    requiredScripts: [
        'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js'
    ],
    ...
});

Мне это очень нравится, потому что вы держите внешнюю зависимость близко к месту, где она используется. Это очень удобно, когда вы можете удалить зависимость или использовать ее в другом месте / проекте.

0 голосов
/ 31 августа 2018

@ Карлос. Вы можете сделать это, добавив тег script в файл index.html, как рекомендует Акрион.

Другой способ - Внутри файла app.json вы можете добавить следующее внутри js [] -

"js":[
      {
        "path": "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js",
        "remote": true
      }
]

После добавления необходимо обновить приложение sencha или собрать приложение sencha.

Тогда в коде приложения вы можете использовать его следующим образом -

var welcomeText = 'Welcome to Sencha Fiddle! Today is: '+ moment(new Date()).format("MM-DD-YYYY");
Ext.Msg.alert('Welcome message',welcomeText);
...