前端组件库——Quasar知识点大全

简介: 教程来源 http://ng817.cn/ Quasar是基于Vue.js的跨平台UI框架,支持一套代码构建SPA、PWA、SSR、iOS/Android App、桌面应用及浏览器扩展。内置CLI、70+组件、主题定制与性能优化,开箱即用,GitHub星标超2.5万。

在Vue.js生态系统中,UI组件库的选择往往是一个令人纠结的问题。Element Plus成熟稳重,Ant Design Vue功能全面,Vuetify设计精美……然而,当你的需求不仅限于Web网站,还需要同时覆盖移动App、桌面应用、PWA等多个平台时,传统组件库就力不从心了——你需要为每个平台维护一套独立的代码。

Quasar(发音为/kweɪ.zɑɹ/)正是为解决这一痛点而生。它不仅是一套UI组件库,更是一个完整的跨平台解决方案。基于Vue.js,Quasar允许开发者编写一套代码,同时构建出SPA、SSR、PWA、移动App(iOS/Android)、桌面应用(Windows/Mac/Linux)以及浏览器扩展。这种“一套代码,多端运行”的能力,使其在跨平台开发领域独树一帜。

Quasar由来自摩尔多瓦的开发者Razvan Stoenescu全职维护,从2016年至今已持续迭代超过8年,在GitHub上收获了超过2.5万Star。其核心理念是:编写代码一次,同时将其部署为网站、移动应用和Electron应用。本文将系统全面地梳理Quasar的核心知识点,从核心理念到安装配置,从组件体系到主题定制,从跨平台能力到性能优化,帮助读者建立完整的知识体系。

一、Quasar概述

1.1 什么是Quasar
Quasar(发音为/kweɪ.zɑɹ/)是基于Vue.js的开源UI框架,采用MIT许可证。它的定位远超传统UI组件库——它是一套完整的跨平台应用开发解决方案。

Quasar的核心价值可以概括为:
image.png
1.2 Quasar的独特性
与Element Plus、Ant Design Vue等传统Vue组件库相比,Quasar有以下几个独特之处:

1.全平台覆盖
这是Quasar与所有其他Vue组件库最大的区别。Element Plus只做Web网站,Vant只做移动端H5,而Quasar同时覆盖:

SPA(单页应用):标准Web网站

SSR(服务端渲染):SEO友好的Web应用

PWA(渐进式Web应用):可安装的Web应用

移动App:通过Cordova或Capacitor打包为iOS/Android原生应用

桌面应用:通过Electron打包为Windows/Mac/Linux桌面应用

浏览器扩展:Chrome/Firefox等浏览器插件

这意味着,如果你需要同时拥有一个Web网站、一个手机App和一个桌面应用,传统方式需要三套代码、三个团队。使用Quasar,一套代码即可搞定。

2.内置最佳实践
Quasar不只是一个组件库,它通过CLI工具提供了完整的项目脚手架,内置了现代Web开发的最佳实践:

代码分割与懒加载

Tree Shaking(自动移除未使用代码)

CSS/JS压缩与缓存清除

ES6转译与Sourcemap

ESLint代码检查

单元测试与E2E测试集成

所有这些功能开箱即用,无需开发者手动配置。

3.零额外依赖
Quasar的设计哲学是“自给自足”。使用Quasar时,你不需要额外引入Bootstrap、Moment.js、Hammer.js等库——Quasar内部已经包含了这些功能,且占用空间极小。

4.性能优先
Quasar是极少数将性能作为首要设计目标的Vue组件库之一。其组件经过精心优化,使用Quasar带来的额外开销几乎不可察觉。CLI工具会自动进行Tree Shaking,确保只打包实际使用的组件代码。

1.3 Quasar vs 其他主流Vue组件库
image.png
选择建议:

选择Quasar:需要同时覆盖Web、移动App、桌面端,或追求极致的开发效率

选择Element Plus:纯Web中后台系统,团队熟悉Element生态

选择Vuetify:青睐Material Design风格,需要丰富的组件

选择Vant:仅需移动端H5页面

1.4 Quasar的生态系统
Quasar拥有完善的生态系统,包括:

Quasar CLI:核心命令行工具,用于创建项目、开发构建、打包发布

Quasar UI:70+高质量的Vue组件

Quasar Utils:跨平台的工具函数库

Quasar Icons:内置多种图标集(Material Icons、Fontawesome、Ionicons等)

App Extensions:社区贡献的扩展插件,可快速集成复杂功能

Quasar Play:在线代码沙箱,可快速尝试组件

Quasar的座右铭是:“编写代码一次,同时将其部署为网站、移动应用和/或Electron应用”。这意味着你只需掌握一套技术栈,就能覆盖几乎所有主流平台的开发需求。

二、安装与配置

2.1 环境准备
在使用Quasar之前,请确保开发环境满足以下要求:

Node.js >= 22(或任何更新的LTS版本)

NPM v6+ / Yarn v1+ / PNPM v8+ / Bun

注意:不要使用奇数的Node版本(如23),这些被视为实验版本

2.2 创建新项目
Quasar提供了两种CLI使用方式:全局安装和通过npx/yarn create直接创建。

方式一:通过create-quasar(推荐)

这是最推荐的入门方式,无需预先安装任何全局CLI:

# 使用yarn
yarn create quasar

# 使用npm
npm create quasar@latest

# 使用pnpm
pnpm create quasar

# 使用bun
bun create quasar

执行命令后,CLI会启动一个交互式向导,询问以下配置选项:

? Project name: my-quasar-project
? Select Quasar version: Quasar v2 (Vue 3 | latest and greatest)
? Pick your CSS preprocessor: Sass with SCSS syntax
? Check the features needed for your project: ESLint, TypeScript
? Choose Vue instance creation: auto
? Pick a component style: Composition API
? Whether to use Quasar plugins? Yes
? Pick your build tool: Vite (recommended)

方式二:安装全局CLI后创建

# 安装全局CLI
npm install -g @quasar/cli

# 创建新项目
quasar create my-project

2.3 项目结构
使用Quasar CLI创建的项目具有标准化的目录结构:

my-quasar-project/
├── public/              # 静态资源(favicon等)
├── src/
│   ├── assets/          # 需要经过构建处理的资源
│   ├── components/      # 可复用的Vue组件
│   ├── css/             # 全局CSS/SCSS文件
│   ├── layouts/         # 布局组件
│   ├── pages/           # 页面组件(路由对应)
│   ├── router/          # Vue Router配置
│   ├── stores/          # Pinia状态管理
│   └── App.vue          # 根组件
├── index.html           # 入口HTML
├── quasar.config.js     # Quasar核心配置文件
└── package.json

2.4 quasar.config.js配置文件
Quasar的核心配置集中在quasar.config.js中,这是理解Quasar的关键:

// quasar.config.js
module.exports = function (ctx) {
  return {
    // 构建目标:spa | pwa | ssr | cordova | capacitor | electron
    build: {
      target: 'spa',
      vueRouterMode: 'hash',  // hash 或 history
      distDir: 'dist/spa',
      transpile: false,
      addProductNameToMetaTags: false,
    },

    // 开发服务器配置
    devServer: {
      open: true,
      port: 9000,
    },

    // 框架配置
    framework: {
      config: {
        brand: {
          primary: '#1976D2',
          secondary: '#26A69A',
          accent: '#9C27B0',
        },
        dark: false,  // 深色模式
      },
      // 按需引入组件(推荐)
      components: [
        'QLayout',
        'QHeader',
        'QPageContainer',
        'QPage',
        'QBtn',
      ],
      // 按需引入指令
      directives: [
        'Ripple',
        'ClosePopup',
      ],
      // 按需引入插件
      plugins: [
        'Notify',
        'Loading',
        'Dialog',
      ],
    },

    // CSS预处理
    css: [
      'app.scss',  // 全局样式入口
    ],

    // 环境变量
    // 在代码中通过 process.env.MY_VAR 访问
    build: {
      env: {
        API_URL: ctx.dev
          ? 'http://localhost:3000'
          : 'https://api.example.com',
      },
    },
  };
};

2.5 开发与构建
Quasar CLI提供了一系列命令,覆盖完整的开发流程:

# 启动开发服务器
quasar dev

# 指定构建模式
quasar dev -m pwa        # 开发PWA模式
quasar dev -m electron   # 开发Electron模式
quasar dev -m capacitor  # 开发移动App模式

# 生产环境构建
quasar build

# 构建并打包移动App
quasar build -m capacitor -T android
quasar build -m capacitor -T ios

# 构建并打包桌面应用
quasar build -m electron

# 运行单元测试
quasar test --unit jest

# 运行E2E测试
quasar test --e2e cypress
相关文章
|
19天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34862 48
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
13天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
12574 37
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
8天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
2609 27
|
30天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45768 157
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
6天前
|
人工智能 弹性计算 安全
Hermes Agent是什么?怎么部署?超详细实操教程
Hermes Agent 是 Nous Research 于2026年2月开源的自进化AI智能体,支持跨会话持久记忆、自动提炼可复用技能、多平台接入与200+模型切换,真正实现“越用越懂你”。MIT协议,部署灵活,隐私可控。
1876 3
|
4天前
|
弹性计算 人工智能 自然语言处理
阿里云Qwen3.6全新开源,三步完成专有版部署!
Qwen3.6是阿里云全新MoE架构大模型系列,稀疏激活显著降低推理成本,兼顾顶尖性能与高性价比;支持多规格、FP8量化、原生Agent及100+语言,开箱即用。
|
1天前
|
缓存 人工智能 自然语言处理
我对比了8个Claude API中转站,踩了不少坑,总结给你
本文是个人开发者耗时1周实测的8大Claude中转平台横向评测,聚焦Claude Code真实体验:以加权均价(¥/M token)、内部汇率、缓存支持、模型真实性及稳定性为核心指标。