代码拉取完成,页面将自动刷新
import { defineConfig } from "vite";
import { VitePWA } from "vite-plugin-pwa";
import solidPlugin from "vite-plugin-solid";
import type { VitePWAOptions } from "vite-plugin-pwa";
import solidSvg from "vite-plugin-solid-svg";
import { compression } from "vite-plugin-compression2";
import { readFileSync } from "fs";
import { resolve } from "path";
const packageJson = JSON.parse(
readFileSync("./package.json", "utf-8"),
);
const pwaOptions: Partial<VitePWAOptions> = {
mode:
process.env.NODE_ENV === "development"
? "development"
: "production",
registerType: "autoUpdate",
srcDir: "src",
filename: "sw.ts",
injectRegister: "auto",
strategies: "injectManifest",
manifest: {
name: "Weblink",
short_name: "Weblink",
theme_color: "#ffffff",
start_url: "/",
display: "standalone",
icons: [
{
src: "pwa-64x64.png",
sizes: "64x64",
type: "image/png",
},
{
src: "pwa-192x192.png",
sizes: "192x192",
type: "image/png",
},
{
src: "pwa-512x512.png",
sizes: "512x512",
type: "image/png",
},
{
src: "maskable-icon-512x512.png",
sizes: "512x512",
type: "image/png",
purpose: "maskable",
},
],
},
base: "/",
workbox: {},
injectManifest: { swSrc: "src/sw.ts" },
devOptions: {
enabled: false,
/* when using generateSW the PWA plugin will switch to classic */
type: "module",
navigateFallback: "index.html",
},
};
export default defineConfig({
resolve: {
alias: {
"@": "/src",
},
},
build: {
rollupOptions: {
treeshake: true,
},
},
// optimizeDeps: {
// exclude: ["@mapbox"],
// },
plugins: [
solidPlugin(),
solidSvg({
svgo: {
enabled: true, // optional, by default is true
svgoConfig: {
plugins: ["preset-default", "removeDimensions"],
},
},
}),
VitePWA(pwaOptions),
compression(),
],
esbuild: {},
define: {
__APP_VERSION__: JSON.stringify(packageJson.version),
__APP_LICENSE__: JSON.stringify(packageJson.license),
},
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。