Quasar Framework Extras
raw JSON →Quasar Extras is a collection of essential static assets, including popular icon sets like Material Icons, Material Design Icons (MDI), Font Awesome, and Ionicons, alongside the Roboto font and Animate.css for animations. It is designed to integrate seamlessly with the Quasar Framework, a Vue.js-based UI framework for building various application types. The current stable version is 2.0.9, and the package receives updates as its bundled upstream assets are updated, reflecting a consistent maintenance cadence. Its key differentiators include optimizing asset bundles by stripping unnecessary files for faster downloads, consolidating these assets in a single, tested package tailored for Quasar, and providing a reliable way to include assets like Material Icons, circumventing common npm installation issues with their native packages.
Common errors
error Error: Module not found: Error: Can't resolve 'material-icons' in '/path/to/your/project' ↓
extras array within the framework object in your quasar.conf.js (or quasar.config.js). This package integrates assets via configuration, not direct module imports. error Icons are not displaying correctly or are missing after updating `quasar-extras`. ↓
extras configuration in quasar.conf.js (or quasar.config.js) is correct and that the desired icon sets are enabled. If you recently updated quasar-extras, consult the release notes for any breaking changes related to specific icon sets and update your icon class names according to their respective documentation. error Animate.css animations are not working in my Quasar application. ↓
animations property is set in your quasar.conf.js (or quasar.config.js). For example, set animations: 'all' to include all animations, or provide an array of specific animation names like animations: ['fadeIn', 'fadeOut']. Then, double-check the animation class names in your components against the Animate.css documentation. Warnings
breaking Upgrading to `quasar-extras` v2.0.0 (or newer) includes Ionicons v4.1.1, which introduced breaking changes compared to previous Ionicons v2.x versions. Icon names and usage patterns may have changed, requiring updates in your application code. ↓
gotcha `quasar-extras` is a collection of static assets (fonts, icon fonts, CSS animations) intended for configuration within a Quasar Framework project via `quasar.conf.js` (or `quasar.config.js`). It does not expose JavaScript modules for direct `import` or `require` statements. ↓
gotcha The `quasar-extras` package bundles specific, often slightly older, versions of third-party assets (e.g., Font Awesome 5.5.0, MDI 3.0.39 as of `quasar-extras@2.0.9`). If your project explicitly requires a newer or specific external asset version not bundled, updating `quasar-extras` might not provide it, or it may conflict with a manually added, newer version. ↓
Install
npm install quasar-extras yarn add quasar-extras pnpm add quasar-extras Imports
- Material Icons (via config) wrong
import 'material-icons'correctmodule.exports = function (ctx) { return { extras: [ 'material-icons' ] } } - Font Awesome (via config) wrong
import '@fortawesome/fontawesome-svg-core'correctmodule.exports = function (ctx) { return { extras: [ 'fontawesome' ] } } - Animate.css (via config) wrong
import 'animate.css'correctmodule.exports = function (ctx) { return { animations: 'all' // or an array like ['bounceInDown', 'bounceOutUp'] } }
Quickstart
// quasar.conf.js (or quasar.config.js for Quasar v2+)
// This file runs in a Node context, so use only ES6 features supported by your Node version.
const { configure } = require('quasar/wrappers')
module.exports = configure(function (ctx) {
return {
// Quasar Framework extras
extras: [
'roboto-font',
'material-icons', // Material Design Icons
'mdi', // Material Design Icons (Community)
'fontawesome', // Font Awesome 5
'ionicons' // Ionicons 4 (Note: v2.0.0+ ships Ionicons v4+)
],
// Animate.css animations
animations: 'all' // or specify an array of specific animations: ['bounceInLeft', 'bounceOutRight']
// ... other Quasar config options
}
})