2016-01-26 3 views
0

Я создаю пакет для ExtJS 6, где мне нужно включить внешний файл JavaScript в качестве ресурса.Как запросить пользовательский файл JavaScript из папки ресурсов пакета ExtJS

Я поместил файл в папку resources моего пакета, но я не могу найти документацию о том, как использовать Ext.require() для загрузки этого файла.

я мог бы использовать Ext.require(Ext.resolveResource("<@MyPackage>custom") - что загружает и выполняет Sencha/build/production/MyApp/classic/resources/MyPackage/custom.js, но он также жалуется, что не может загрузить класс из этого файла:

[E] [Loader] The following classes failed to load: 
[E] [Loader] Sencha/build/production/MyApp/classic/resources/MyPackage/custom from Sencha/build/production/MyApp/classic/resources/MyPackage/custom.js 

Может Ext.require() быть использованы для этой цели, или я должен использовать Ext.AJAX и создать тег <script>?

+0

Пытались ли вы издание app.json? – Dumbledore

+0

Поскольку я создаю пакет, редактирование app.json кажется неправильным, поскольку оно находится вне кода пакета. –

+0

Вы создаете новый класс или переопределяете существующие классы? – Dumbledore

ответ

1

Редактировать app.json и искать свойство js или добавить его в случае, если его там нет.

... 
"js": [ 
    { 
     "path": "lib/myExternalLibrary.js", 
     "includeInBundle": true 
    }, 
] 
... 

ссылка https://docs.sencha.com/cmd/6.x/microloader.html#js

+0

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

2

Может быть, его уже поздно, но это работает для ExtJs6 в вашем package.json

"js" : [{ 
    "path": "resources/js/OpenLayers.js", 
    "bundle": true 
}] 
Смежные вопросы