vite 静态离线无服务器部署 方案
第一、第二种方案
import path from "path";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import { viteSingleFile } from "vite-plugin-singlefile";
import legacy from "@vitejs/plugin-legacy";
// 基于不可控远端的vite项目离线部署的多种方式
/* 把所有资源打包在一个index.html 体积较大 */
const SingleConfig = defineConfig({
resolve: {
alias: [
{
find: "@",
replacement: path.resolve(dirname, "./src")
}
]
},
plugins: [vue(), vueJsx(), vitesingleFile()]
})
// 使用webpack那种引入方式,不用type=module
const LegacyConfig = defineConfig({
base:"./",
resolve: {
alias: [
{
find: "@",
replacement: path.resolve(dirname, "./src")
}
]
},
plugins: [vue(), vueJsx(), legacy({targets:["defaults","not IE 11"]})]
})
第三种方案
pkg SEA Single Executable Applications
洗尽铅华始见金,褪去浮华归本真