Куда поместить файл extjs?

#javascript #extjs

Вопрос:

Я наткнулся на класс extjs на GitHub, который я хотел бы использовать в своем приложении. Куда мне положить этот файл?

Я знаю, что структура файлов в extjs соответствует некоторым шаблонам, поэтому, например, если имя моего приложения-MyApp, я помещаю классы в соответствующие папки, например MyApp.view.myfolder.MyClass .

Однако в этом случае использование класса задается как

 GLC.tip.toast(title, message, options)
 

поэтому я сомневаюсь, что мне следует поместить его в какую-нибудь папку просмотра. С другой стороны, я попытался скопировать эти два файла (glc_tip.js и tip.scss) в корневой папке моего приложения и включите в index.html следующая строка:

 <script type="text/javascript" src="glc_tip.js"/>
 

но это также не работает. Я получил ошибку, что она не определена.

Обновить

Я создал папку /ux/tip/ в корневом каталоге приложения и поместил файлы toast.js (переименовано glc_tip.js) и введите в него tip.scss. После этого я изменил app.json, поэтому раздел с «js» и «css» выглядит так:

 "js": [{
    "path": "app.js",
    "bundle": true
},{
    "path": "/ux/tip/toast.js",
    "bundle": true
}],
 
 "css": [{
    // This entry uses an ant variable that is the calculated value of the generated
    // output css file for the app, defined in .sencha/app/defaults.properties
    "path": "${build.out.css.path}",
    "bundle": true,
    "exclude": ["fashion"]
},{
    "path": "/ux/tip/tip.scss"
}],
 

После этого я сделал sencha app refresh и sencha app build development , но это все еще не работает. я получаю сообщение об ошибке:

Ошибка неперехваченной ссылки: GLC не определен в конструкторе.обработчик

Ответ №1:

Лучше зарегистрировать сторонние библиотеки в файле app.json. Там должны быть разделы js и css. Вы можете вставить его в ‘/ux/tip/toast.js’ файл (создайте dir, если они не существуют).

Файлы Js в

 "js": [
    {
        "path": "${framework.dir}/build/ext-all-rtl-debug.js"
    },
    {
        "path": "app.js",
        "bundle": true
    }
],
 

CSS-файлы будут зарегистрированы в

 "css": [
    {
        // this entry uses an ant variable that is the calculated
        // value of the generated output css file for the app,
        // defined in .sencha/app/defaults.properties
        "path": "${build.out.css.path}",
        "bundle": true,
        "exclude": ["fashion"]
    }
],
 

И не забудьте перестроить и обновить свой проект, чтобы применить изменения.

Комментарии:

1. Я обновил свой вопрос вашим предложением. Не могли бы вы, пожалуйста, взглянуть и сказать мне, что я делаю не так?

2. Похоже, вы забыли переименовать класс из GLC.. соответствующий. Что-то вроде YOUR_PROJECT_NAME.ux.Подсказка..

3. Исходный класс определяется как Ext.define(‘GLC.tip’, {… Не могли бы вы подтвердить, нужно ли мне изменить это определение на Ext.define(‘MyApp.ux.tip.toast’, {…

4. Да, что-то вроде этого.

5. Теперь я получаю следующую ошибку: Неперехваченная ошибка типа: m.slideIn не является функцией