Quasar Framework предоставляет мощный инструмент для создания расширений, которые могут быть использованы повторно в различных проектах или опубликованы для сообщества. Расширение в Quasar — это модуль, который добавляет функциональность, команды CLI, UI-компоненты, плагины или шаблоны в проекты, построенные на Vue.js.
Стандартная структура расширения выглядит следующим образом:
my-extension/
├─ src/
│ ├─ index.js
│ ├─ boot/
│ │ └─ my-boot-file.js
│ └─ components/
│ └─ MyComponent.vue
├─ quasar-extension.json
├─ package.json
└─ README.md
Расширения в Quasar используют Node.js API для интеграции с CLI. Основные методы:
quasar.conf.js). Пример
использования:module.exports = function (api) {
api.extendQuasarConf((conf) => {
conf.build.vueRouterMode = 'history';
conf.css.push('app-extension.css');
});
};
module.exports = function (api) {
api.registerCommand({
name: 'hello',
description: 'Выводит приветственное сообщение',
handler: () => {
console.log('Привет из моего расширения!');
}
});
};
api.addBootFile('my-boot-file.js');
api.addComponent({ name: 'MyComponent', path: 'components/MyComponent.vue' });
Для публикации расширения через npm необходимо убедиться, что выполнены следующие шаги:
package.json Важные
поля:{
"name": "@username/my-extension",
"version": "1.0.0",
"main": "src/index.js",
"quasar": {
"type": "app-extension",
"id": "my-extension"
},
"files": [
"src",
"quasar-extension.json"
]
}
name — уникальное имя пакета в npm.quasar.type — указывает, что это расширение для
Quasar.files — список файлов, включаемых при публикации.quasar-extension.json{
"name": "my-extension",
"version": "1.0.0",
"description": "Пример расширения для Quasar",
"author": "Имя Автора",
"url": "https://github.com/username/my-extension",
"hooks": []
}
hooks могут содержать команды для установки или
обновления расширения.quasar ext add ../my-extension
npm publish --access public
После публикации расширение становится доступным для установки через Quasar CLI:
quasar ext add @username/my-extension
Quasar Framework рекомендует семантическое версионирование (SemVer) для расширений:
Команды CLI Quasar позволяют пользователям проверять доступные обновления расширений:
quasar ext update
Расширения могут добавлять собственные интерфейсы:
Пример регистрации компонента и boot-файла:
module.exports = function (api) {
api.addComponent({ name: 'AlertBox', path: 'components/AlertBox.vue' });
api.addBootFile('boot/alert.js');
};
quasar dev и локальную
установку.Расширения Quasar позволяют создавать модульные, переиспользуемые блоки функциональности, которые легко распространяются через npm и интегрируются в проекты с минимальными усилиями.