196 lines
25 KiB
JavaScript
196 lines
25 KiB
JavaScript
|
|
// vite.config.ts
|
|||
|
|
import { defineConfig, normalizePath, loadEnv } from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/vite@5.2.2_@types+node@20.11.30_sass@1.72.0_terser@5.29.2/node_modules/vite/dist/node/index.js";
|
|||
|
|
import path from "path";
|
|||
|
|
import { resolve as resolve2 } from "path";
|
|||
|
|
|
|||
|
|
// build/optimize.ts
|
|||
|
|
var include = [
|
|||
|
|
"vue-codemirror6",
|
|||
|
|
"qrcode",
|
|||
|
|
"jsbarcode",
|
|||
|
|
"vuedraggable",
|
|||
|
|
"@wangeditor/editor",
|
|||
|
|
"fingerprintjs2",
|
|||
|
|
"xgplayer",
|
|||
|
|
"print-js",
|
|||
|
|
"@codemirror/theme-one-dark",
|
|||
|
|
"@codemirror/lang-json",
|
|||
|
|
"@codemirror/lang-javascript",
|
|||
|
|
"@codemirror/lang-vue",
|
|||
|
|
"pinyin-pro"
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
// vite.config.ts
|
|||
|
|
import postcssPresetEnv from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/postcss-preset-env@9.5.2_postcss@8.4.38/node_modules/postcss-preset-env/dist/index.mjs";
|
|||
|
|
|
|||
|
|
// build/vite-plugin.ts
|
|||
|
|
import vue from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/@vitejs+plugin-vue@5.0.4_vite@5.2.2_@types+node@20.11.30_sass@1.72.0_terser@5.29.2__vue@3.4.21_typescript@5.4.3_/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
|||
|
|
import { resolve } from "path";
|
|||
|
|
import { vitePluginForArco } from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/@arco-plugins+vite-vue@1.4.5/node_modules/@arco-plugins/vite-vue/lib/index.js";
|
|||
|
|
import { createHtmlPlugin } from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/vite-plugin-html@3.2.2_vite@5.2.2_@types+node@20.11.30_sass@1.72.0_terser@5.29.2_/node_modules/vite-plugin-html/dist/index.mjs";
|
|||
|
|
import { createSvgIconsPlugin } from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1_vite@5.2.2_@types+node@20.11.30_sass@1.72.0_terser@5.29.2_/node_modules/vite-plugin-svg-icons/dist/index.mjs";
|
|||
|
|
import AutoImport from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/unplugin-auto-import@0.17.5_@vueuse+core@12.4.0_typescript@5.4.3__rollup@4.13.0/node_modules/unplugin-auto-import/dist/vite.js";
|
|||
|
|
import { ArcoResolver } from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/unplugin-vue-components@0.26.0_@babel+parser@7.26.5_rollup@4.13.0_vue@3.4.21_typescript@5.4.3_/node_modules/unplugin-vue-components/dist/resolvers.js";
|
|||
|
|
import Components from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/unplugin-vue-components@0.26.0_@babel+parser@7.26.5_rollup@4.13.0_vue@3.4.21_typescript@5.4.3_/node_modules/unplugin-vue-components/dist/vite.js";
|
|||
|
|
import { viteMockServe } from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/vite-plugin-mock@2.9.6_mockjs@1.1.0_rollup@4.13.0_vite@5.2.2_@types+node@20.11.30_sass@1.72.0_terser@5.29.2_/node_modules/vite-plugin-mock/dist/index.js";
|
|||
|
|
import eslintPlugin from "file:///D:/%E9%A1%B9%E7%9B%AE/SnowAdmin/node_modules/.pnpm/vite-plugin-eslint@1.8.1_eslint@8.57.0_vite@5.2.2_@types+node@20.11.30_sass@1.72.0_terser@5.29.2_/node_modules/vite-plugin-eslint/dist/index.mjs";
|
|||
|
|
var createVitePlugins = (viteEnv) => {
|
|||
|
|
const env = viteEnv;
|
|||
|
|
return [
|
|||
|
|
vue(),
|
|||
|
|
// esLint 报错信息显示在浏览器界面上
|
|||
|
|
eslintPlugin(),
|
|||
|
|
vitePluginForArco({
|
|||
|
|
style: "css"
|
|||
|
|
}),
|
|||
|
|
// 提供ejs模板能力,用于index.html的标题显示
|
|||
|
|
createHtmlPlugin({
|
|||
|
|
inject: {
|
|||
|
|
data: {
|
|||
|
|
title: env.VITE_GLOB_APP_TITLE
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}),
|
|||
|
|
createSvgIconsPlugin({
|
|||
|
|
// 配置src下存放svg的路径,这里表示在src/assets/svgs文件夹下
|
|||
|
|
iconDirs: [resolve(process.cwd(), "src/assets/svgs")],
|
|||
|
|
symbolId: "icon-[dir]-[name]"
|
|||
|
|
}),
|
|||
|
|
AutoImport({
|
|||
|
|
// 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
|
|||
|
|
imports: ["vue", "vue-router"],
|
|||
|
|
// 自动导入的目录-自定义全局函数
|
|||
|
|
dirs: ["src/globals"],
|
|||
|
|
// arco组件的按需加载
|
|||
|
|
resolvers: [ArcoResolver()],
|
|||
|
|
// 解决eslint报错问题
|
|||
|
|
eslintrc: {
|
|||
|
|
// 这里先设置成true然后npm run dev 运行之后会生成 .eslintrc-auto-import.json 文件之后,在改为false
|
|||
|
|
enabled: false,
|
|||
|
|
filepath: "./.eslintrc-auto-import.json",
|
|||
|
|
// 生成的文件路径
|
|||
|
|
globalsPropValue: true
|
|||
|
|
},
|
|||
|
|
// 配置文件生成位置
|
|||
|
|
dts: "src/auto-import.d.ts"
|
|||
|
|
}),
|
|||
|
|
Components({
|
|||
|
|
resolvers: [
|
|||
|
|
// arco组件的按需加载
|
|||
|
|
ArcoResolver({
|
|||
|
|
sideEffect: true
|
|||
|
|
})
|
|||
|
|
],
|
|||
|
|
// 自动加载组件的目录配置,默认的为 'src/components'
|
|||
|
|
dirs: ["src/components"],
|
|||
|
|
// 组件的有效文件扩展名
|
|||
|
|
extensions: ["vue"],
|
|||
|
|
// 配置文件生成位置
|
|||
|
|
dts: "src/components.d.ts"
|
|||
|
|
}),
|
|||
|
|
viteMockServe({
|
|||
|
|
mockPath: "./src/mock/",
|
|||
|
|
// 目录位置
|
|||
|
|
logger: true,
|
|||
|
|
// 是否在控制台显示请求日志
|
|||
|
|
supportTs: true,
|
|||
|
|
// 是否读取ts文件模块
|
|||
|
|
localEnabled: env.VITE_APP_OPEN_MOCK === "true",
|
|||
|
|
// 设置是否启用本地mock文件
|
|||
|
|
prodEnabled: env.VITE_APP_OPEN_MOCK === "true",
|
|||
|
|
// 设置打包是否启用mock功能
|
|||
|
|
// 这样可以控制关闭mock的时候不让mock打包到最终代码内
|
|||
|
|
injectCode: `
|
|||
|
|
import { setupProdMockServer } from '../src/mock/index';
|
|||
|
|
setupProdMockServer();
|
|||
|
|
`
|
|||
|
|
})
|
|||
|
|
];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// vite.config.ts
|
|||
|
|
var __vite_injected_original_dirname = "D:\\\u9879\u76EE\\SnowAdmin";
|
|||
|
|
var themePath = normalizePath(path.normalize("./src/style/global-theme.scss"));
|
|||
|
|
var vite_config_default = defineConfig(({ mode }) => {
|
|||
|
|
const root = process.cwd();
|
|||
|
|
const env = loadEnv(mode, root);
|
|||
|
|
return {
|
|||
|
|
// 生产环境服务的公共基础路径-用于生出环境的代理的路径
|
|||
|
|
base: env.VITE_PUBLIC_PATH,
|
|||
|
|
server: {
|
|||
|
|
host: "0.0.0.0",
|
|||
|
|
open: false,
|
|||
|
|
// 为开发服务器配置自定义代理规则-用于开发时的代理
|
|||
|
|
proxy: {
|
|||
|
|
"/api": {
|
|||
|
|
target: env.VITE_APP_BASE_URL,
|
|||
|
|
changeOrigin: true,
|
|||
|
|
rewrite: (path2) => path2.replace(/^\/api/, "")
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// 插件:路径build/vite-plugin
|
|||
|
|
plugins: createVitePlugins(env),
|
|||
|
|
resolve: {
|
|||
|
|
// 配置别名-绝对路径
|
|||
|
|
alias: {
|
|||
|
|
"@assets": path.join(__vite_injected_original_dirname, "src/assets"),
|
|||
|
|
"@": resolve2(__vite_injected_original_dirname, "./src")
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
css: {
|
|||
|
|
postcss: {
|
|||
|
|
plugins: [postcssPresetEnv()]
|
|||
|
|
},
|
|||
|
|
preprocessorOptions: {
|
|||
|
|
scss: {
|
|||
|
|
// additionalData的内容会在每个scss文件的开头自动注入
|
|||
|
|
additionalData: `@import "${themePath}";
|
|||
|
|
`
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
// 依赖预加载 https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options
|
|||
|
|
optimizeDeps: {
|
|||
|
|
include
|
|||
|
|
},
|
|||
|
|
build: {
|
|||
|
|
outDir: "dist",
|
|||
|
|
// 指定打包路径,默认为项目根目录下的dist目录
|
|||
|
|
// minify: "esbuild", // esbuild打包更快但是不能去除console.log,terser打包慢但能去除console.log
|
|||
|
|
minify: "terser",
|
|||
|
|
// Vite 2.6.x 以上需要配置 minify:"terser",terserOptions才能生效,terser可以去除 console.log
|
|||
|
|
terserOptions: {
|
|||
|
|
compress: {
|
|||
|
|
keep_infinity: true,
|
|||
|
|
// 防止 Infinity 被压缩成 1/0,这可能会导致 Chrome 上的性能问题
|
|||
|
|
drop_console: true,
|
|||
|
|
// 生产环境去除 console
|
|||
|
|
drop_debugger: true
|
|||
|
|
// 生产环境去除 debugger
|
|||
|
|
},
|
|||
|
|
format: {
|
|||
|
|
comments: false
|
|||
|
|
// 删除注释
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
assetsInlineLimit: 50 * 1024,
|
|||
|
|
// 打包内联阈值100kb
|
|||
|
|
chunkSizeWarningLimit: 5e4,
|
|||
|
|
// 规定触发警告的 chunk 大小, 这里设置阈值为50kb, 消除打包大小超过500kb警告
|
|||
|
|
// 静态资源打包到dist下的不同目录,将文件类型css、js、jpg等文件分开存储
|
|||
|
|
rollupOptions: {
|
|||
|
|
output: {
|
|||
|
|
chunkFileNames: "static/js/[name]-[hash].js",
|
|||
|
|
entryFileNames: "static/js/[name]-[hash].js",
|
|||
|
|
assetFileNames: "static/[ext]/[name]-[hash].[ext]"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
});
|
|||
|
|
export {
|
|||
|
|
vite_config_default as default
|
|||
|
|
};
|
|||
|
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAiYnVpbGQvb3B0aW1pemUudHMiLCAiYnVpbGQvdml0ZS1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxcdTk4NzlcdTc2RUVcXFxcU25vd0FkbWluXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxcdTk4NzlcdTc2RUVcXFxcU25vd0FkbWluXFxcXHZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi8lRTklQTElQjklRTclOUIlQUUvU25vd0FkbWluL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBub3JtYWxpemVQYXRoLCBsb2FkRW52IH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCB7IGluY2x1ZGUgfSBmcm9tIFwiLi9idWlsZC9vcHRpbWl6ZVwiO1xyXG5pbXBvcnQgcG9zdGNzc1ByZXNldEVudiBmcm9tIFwicG9zdGNzcy1wcmVzZXQtZW52XCI7XHJcbmltcG9ydCB7IGNyZWF0ZVZpdGVQbHVnaW5zIH0gZnJvbSBcIi4vYnVpbGQvdml0ZS1wbHVnaW5cIjtcclxuY29uc3QgdGhlbWVQYXRoID0gbm9ybWFsaXplUGF0aChwYXRoLm5vcm1hbGl6ZShcIi4vc3JjL3N0eWxlL2dsb2JhbC10aGVtZS5zY3NzXCIpKTtcclxuXHJcbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBtb2RlIH0pID0+IHtcclxuICAvLyBcdTY4MzlcdThERUZcdTVGODRcclxuICBjb25zdCByb290ID0gcHJvY2Vzcy5jd2QoKTtcclxuICAvLyBcdTgzQjdcdTUzRDZcdThEREZcdThERUZcdTVGODRcdTVCRjlcdTVFOTRcdTc2ODRcdTY1ODdcdTRFRjZcclxuICBjb25zdCBlbnY6IGFueSA9IGxvYWRFbnYobW9kZSwgcm9vdCk7XHJcbiAgcmV0dXJuIHtcclxuICAgIC8vIFx1NzUxRlx1NEVBN1x1NzNBRlx1NTg4M1x1NjcwRFx1NTJBMVx1NzY4NFx1NTE2Q1x1NTE3MVx1NTdGQVx1Nzg0MFx1OERFRlx1NUY4NC1cdTc1MjhcdTRFOEVcdTc1MUZcdTUxRkFcdTczQUZcdTU4ODNcdTc2ODRcdTRFRTNcdTc0MDZcdTc2ODRcdThERUZcdTVGODRcclxuICAgIGJhc2U6IGVudi5WSVRFX1BVQkxJQ19QQVRILFxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIGhvc3Q6IFwiMC4wLjAuMFwiLFxyXG4gICAgICBvcGVuOiBmYWxzZSxcclxuICAgICAgLy8gXHU0RTNBXHU1RjAwXHU1M0QxXHU2NzBEXHU1MkExXHU1NjY4XHU5MTREXHU3RjZFXHU4MUVBXHU1QjlBXHU0RTQ5XHU0RUUzXHU3NDA2XHU4OUM0XHU1MjE5LVx1NzUyOFx1NEU4RVx1NUYwMFx1NTNEMVx1NjVGNlx1NzY4NFx1NEVFM1x1NzQwNlxyXG4gICAgICBwcm94eToge1xyXG4gICAgICAgIFwiL2FwaVwiOiB7XHJcbiAgICAgICAgICB0YXJnZXQ6IGVudi5WSVRFX0FQUF9CQVNFX1VSTCxcclxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcclxuICAgICAgICAgIHJld3JpdGU6IHBhdGggPT4gcGF0aC5yZXBsYWNlKC9eXFwvYXBpLywgXCJcIilcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvLyBcdTYzRDJcdTRFRjZcdUZGMUFcdThERUZcdTVGODRidWlsZC92aXRlLXBsdWdpblxyXG4gICAgcGx1Z2luczogY3JlYXRlVml0ZVBsdWdpbnMoZW52KSxcclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgLy8gXHU5MTREXHU3RjZFXHU1MjJCXHU1NDBELVx1N0VERFx1NUJGOVx1OERFRlx1NUY4NFxyXG4gICAgICBhbGlhczoge1xyXG4gICAgICAgIFwiQGFzc2V0c1wiOiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcInNyYy9hc3NldHNcIiksXHJcbiAgICAgICAgXCJAXCI6IHJlc29sdmUoX19kaXJuYW1lLCBcIi4vc3JjXCIpXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjc3M6IHtcclxuICAgICAgcG9zdGNzczoge1xyXG4gICAgICAgIHBsdWdpbnM6IFtwb3N0Y3NzUHJlc2V0RW52KCldXHJcbiAgICAgIH0sXHJcbiAgICAgIHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcclxuICAgICAgICBzY3NzOiB7XHJcbiAgICAgICAgICAvLyBhZGRpdGlvbmFsRGF0YVx1NzY4NFx1NTE4NVx1NUJCOVx1NEYxQVx1NTcyOFx1NkJDRlx1NEUyQXNjc3NcdTY1ODdcdTRFRjZcdTc2ODRcdTVGMDBcdTU5MzRcdTgxRUFcdTUyQThcdTZDRThcdTUxNjVcclxuICAgICAgICAgIGFkZGl0aW9uYWxEYXRhOiBgQGltcG9ydCBcIiR7dGhlbWVQYXRofVwiO1xyXG4gICAgICAgICAgYFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIFx1NEY5RFx1OEQ1Nlx1OTg4NFx1NTJBMFx1OEY3RCBodHRwczovL2NuLnZpdGVqcy5kZXYvY29uZmlnL2RlcC1vcHRpbWl6YXRpb24tb3B0aW9ucy5odG1sI2RlcC1vcHRpbWl6YXRpb24tb3B0aW9uc1xyXG4gICAgb3B0aW1pemVEZXBzOiB7XHJcbiAgICAgIGluY2x1ZGVcclxuICAgIH0sXHJcbiAgICBidWlsZDoge1xyXG4gICAgICBvdXREaXI6IFwiZGlzdFwiLCAvLyBcdTYzMDdcdTVCOUFcdTYyNTNcdTUzMDVcdThERUZcdTVGODRcdUZGMENcdTlFRDhcdThCQTRcdTRFM0FcdTk4NzlcdTc2RUVcdTY4MzlcdTc2RUVcdTVGNTVcdTRFMEJcdTc2ODRkaXN0XHU3NkVFXHU1RjU1XHJcbiAgICAgIC8vIG1pbmlmeTogXCJlc2J1aWxkXCIsIC8vIGVzYnVpbGRcdTYyNTNcdTUzMDVcdTY2RjRcdTVGRUJcdTRGNDZcdTY2MkZcdTRFMERcdTgwRkRcdTUzQkJcdTk2NjRjb25zb2xlLmxvZ1x1RkYwQ3RlcnNlclx1NjI1M1x1NTMwNVx1NjE2Mlx1NEY0Nlx1ODBGRFx1NTNCQlx1OTY2NGNvbnNvbGUubG9nXHJcbiAgICAgIG1pbmlmeTogXCJ0ZXJzZXJcIiwgLy8gVml0ZSAyLjYueCBcdTRFRTVcdTRFMEFcdTk3MDBcdTg5ODFcdTkxNERcdTdGNkUgbWluaWZ5XHVGRjFBXCJ0ZXJzZXJcIlx1RkYwQ3RlcnNlck9wdGlvbnNcdTYyNERcdTgwR
|