This project is a rewrite of Danny Connell's "Quasar V1: Weather App for Mobile, Desktop & Web (Vue JS 2)" application he built for his Udemy course of the same name. This fork pre-includes the Pinegrow Quasar Module and other goodies for Vue Designer.
Demo - https://pg-quasar-weather-app.netlify.app/
A desktop visual editor for Vue apps supporting Mac, Windows, and Linux by Pinegrow. Take it for a free trial at Vue Designer!
It lets you visually design 🎨 your Vue single file components and boosts your productivity and creativity while building your component-based Vue apps.
It smartly integrates with your ⚡️ Vite based CLI and provides an amazing developer experience with its powerful visual controls and features.
Clean code 😃, No lock-in - You are in control of your projects and development workflow ❤️
Create a repo from this template on GitHub.
(or)
If you prefer to do it manually with the cleaner git history
npx giget@latest gh:pinegrow/pg-quasar my-quasar-app #project-name
cd my-quasar-app
npm install #or use pnpm
(or)
If you prefer a blank template (a single empty home page) instead,
npx giget@latest gh:pinegrow/pg-quasar#blank my-quasar-app #project-name
cd my-quasar-app
npm install #or use pnpm
Open your project in Vue Designer and follow the instructions displayed in the Config Panel (that should pop out automatically). Config Panel ⚙️ displays the key packages and the various links to their individual ecosystems and communities.
- ACTION REQUIRED: Currently, only SPA & SSR mode are active in this template. To use other modes (desktop, mobile etc), enable them by following the official Quasar documentation.
For Windows build when running Mac - run Windows in a virtual machine and run development process there For iOS (Mac only) - install Xcode before starting development server For Android - install Android Studio, Android File Transfer, setup and launch Android Virtual Device, and then start the development server
npm run dev # Web - SPA
npm run dev:ssr # Web - SSR SPA
npm run dev:electron # Desktop
npm run dev:ios # Mobile - ios
npm run dev:android # Mobile - android
For Windows build when running Mac - uncomment the platform: 'win32'
line in quasar.config.js
and run npm run build:electron
npm run build # Web - SPA
npm run build:ssr # Web - SSR SPA
npm run build:electron # Desktop
npm run build:ios # Mobile - ios
npm run build:android # Mobile - android
npm run icons # regenerate icons & splash screens
Set build > analyze
to true
in your config file and run the necessary build
command. This will generate and open an HTML report containing bundle size information.
npm run build # use the necessary build command from above build section
npm run build # build
quasar serve --history #preview build
npm run unlighthouse # Uses npx unlighthouse from https://unlighthouse.dev/ to run lighthouse on entire site (all pages)
You can deploy this repo as a site on your own to explore and experiment with, by clicking this button.
Check out the deployment documentation for more information.
- Quasar - The enterprise-ready cross-platform VueJs framework
- 👉 Follow the Quasar docs for the amazing list of features.
- 🚦 Vue-Router for client-side routing. Expressive, configurable, convenient enables snappy navigation.
- Quasar - There’s a component for almost every web development need within Quasar. Each of Quasar’s components is carefully crafted to offer you the best possible experience for your users. Quasar is designed with performance & responsiveness in mind – so the overhead of using Quasar is barely noticeable. This attention to performance and good design is something that gives us special pride.
👉 Note: Quasar's extended spacing utilities are enabled by setting
framework.cssAddon: true
in quasar config.
- UnoCSS Preset Icons - use over 100,000 open-source Iconify icons. Uses the unocss format for icon names, for example,
i-mdi-home
.
- Pinegrow Quasar Module - enables you to live-design your Vue single-file components visually in Vue Designer. Also, via Design Panel, enables theme customization (optional) and visual controls for Quasar utilities. Note: This is an addon that's licensed separately to Pinegrow apps (like Vue Designer).
- VueUse - collection of essential Vue composition utilities.
- 🍍 Pinia stores for global state management. Its light-weight, type-safe, extensible, modular with vue-devtools support.
- VeeValidate takes care of value tracking, validation, errors, submissions and more.
- QImg - The QImg component makes working with images (any picture format) easy and also adds a nice loading effect to it along with many other features (example: the ability to set an aspect ratio).
- Quasar SEO - The Quasar Meta plugin can dynamically change page title, manage
<meta>
tags, manage<html>
and<body>
DOM element attributes, add/remove/change<style>
and<script>
tags in the head of your document (useful for CDN stylesheets or for json-ld markup, for example), or manage<noscript>
tags.
- Vite Devtools - A Vite plugin for Vue that enhances your DX (developer experience) with an amazing set of in-app features. This is an in-app alternative to browser-based/standalone Vue Devtools.
- Vue Devtools - Official devtools that can be used as a standalone app alongside Vue Designer. It's configured as a boot file (only during development).
- ACTION REQUIRED: Currently deactivated. In
src/boot/devtools.ts
, uncomment to activate.
- ACTION REQUIRED: Currently deactivated. In
- [VS Code Extensions](./.vscode/extensions.json & ./.vscode/settings.json)
- Use Composition API with
<script setup>
SFC syntax - ESLint with eslint-plugin-vue - official set of linting rules.
- Prettier with @vue/eslint-config-prettier - format without conflicting with eslint rules.
This project allows JS, and strict mode is turned off. Update tsconfig.ts
as required.
{
// https://quasar.dev/quasar-cli-vite/supporting-ts
"extends": "@quasar/app-vite/tsconfig-preset",
"compilerOptions": {
"allowJs": true,
"strict": false
}
}