提交 a1b9902b 编写于 作者: V vben

feat: add pwa

上级 173d4021
...@@ -16,5 +16,8 @@ VITE_GLOB_API_URL=/api ...@@ -16,5 +16,8 @@ VITE_GLOB_API_URL=/api
# Interface prefix # Interface prefix
VITE_GLOB_API_URL_PREFIX= VITE_GLOB_API_URL_PREFIX=
# use pwa
VITE_USE_PWA = false
# TODO use Cdn # TODO use Cdn
VITE_USE_CDN = true VITE_USE_CDN = true
## Wip ## Wip
### ✨ Features
- 新增`pwa`功能,可在`.env.production`开启
### 🎫 Chores ### 🎫 Chores
- 升级 vite 版本为`v1.0.0.rc8` - 升级 vite 版本为`v1.0.0.rc8`
- vite.config.ts 内部 plugins 抽取 - vite.config.ts 内部 plugins 抽取
- build 目录结构调整 - build 目录结构调整
- 依赖更新 - 依赖更新
- 文档更新
### ✨ Refactor ### ✨ Refactor
......
...@@ -80,6 +80,7 @@ export function isSiteMode(): boolean { ...@@ -80,6 +80,7 @@ export function isSiteMode(): boolean {
export interface ViteEnv { export interface ViteEnv {
VITE_PORT: number; VITE_PORT: number;
VITE_USE_MOCK: boolean; VITE_USE_MOCK: boolean;
VITE_USE_PWA: boolean;
VITE_PUBLIC_PATH: string; VITE_PUBLIC_PATH: string;
VITE_PROXY: [string, string][]; VITE_PROXY: [string, string][];
VITE_GLOB_APP_TITLE: string; VITE_GLOB_APP_TITLE: string;
......
...@@ -2,6 +2,7 @@ import type { Plugin as VitePlugin } from 'vite'; ...@@ -2,6 +2,7 @@ import type { Plugin as VitePlugin } from 'vite';
import type { Plugin as rollupPlugin } from 'rollup'; import type { Plugin as rollupPlugin } from 'rollup';
import { createMockServer } from 'vite-plugin-mock'; import { createMockServer } from 'vite-plugin-mock';
import { VitePWA } from 'vite-plugin-pwa';
import ViteHtmlPlugin from 'vite-plugin-html'; import ViteHtmlPlugin from 'vite-plugin-html';
import PurgeIcons from 'vite-plugin-purge-icons'; import PurgeIcons from 'vite-plugin-purge-icons';
...@@ -17,7 +18,7 @@ import { GLOB_CONFIG_FILE_NAME } from '../../constant'; ...@@ -17,7 +18,7 @@ import { GLOB_CONFIG_FILE_NAME } from '../../constant';
// gen vite plugins // gen vite plugins
export function createVitePlugins(viteEnv: ViteEnv) { export function createVitePlugins(viteEnv: ViteEnv) {
const { VITE_USE_MOCK, VITE_GLOB_APP_TITLE, VITE_PUBLIC_PATH } = viteEnv; const { VITE_USE_MOCK, VITE_GLOB_APP_TITLE, VITE_PUBLIC_PATH, VITE_USE_PWA } = viteEnv;
const vitePlugins: VitePlugin[] = []; const vitePlugins: VitePlugin[] = [];
...@@ -43,6 +44,13 @@ export function createVitePlugins(viteEnv: ViteEnv) { ...@@ -43,6 +44,13 @@ export function createVitePlugins(viteEnv: ViteEnv) {
// vite-plugin-purge-icons // vite-plugin-purge-icons
vitePlugins.push(PurgeIcons()); vitePlugins.push(PurgeIcons());
if (isProdFn() && VITE_USE_PWA) {
console.log('======================');
console.log(VITE_USE_PWA);
console.log('======================');
vitePlugins.push(VitePWA());
}
// vite-plugin-mock // vite-plugin-mock
if (isDevFn() && VITE_USE_MOCK) { if (isDevFn() && VITE_USE_MOCK) {
// open mock // open mock
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册