151 lines
19 KiB
JavaScript
151 lines
19 KiB
JavaScript
|
|
// vite.config.ts
|
|||
|
|
import { defineConfig, loadEnv } from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/vite/dist/node/index.js";
|
|||
|
|
import { createSvgIconsPlugin } from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/vite-plugin-svg-icons/dist/index.mjs";
|
|||
|
|
import vue from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
|||
|
|
import path from "path";
|
|||
|
|
|
|||
|
|
// build/getEnv.ts
|
|||
|
|
function wrapperEnv(envConf) {
|
|||
|
|
const ret = {};
|
|||
|
|
for (const envName of Object.keys(envConf)) {
|
|||
|
|
let realName = envConf[envName].replace(/\\n/g, "\n");
|
|||
|
|
realName = realName === "true" ? true : realName === "false" ? false : realName;
|
|||
|
|
if (envName === "VITE_PORT") realName = Number(realName);
|
|||
|
|
if (envName === "VITE_PROXY") {
|
|||
|
|
try {
|
|||
|
|
realName = JSON.parse(realName);
|
|||
|
|
} catch (error) {
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
ret[envName] = realName;
|
|||
|
|
}
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// build/proxy.ts
|
|||
|
|
function createProxy(list = []) {
|
|||
|
|
const ret = {};
|
|||
|
|
for (const [prefix, target] of list) {
|
|||
|
|
const httpsRE = /^https:\/\//;
|
|||
|
|
const isHttps = httpsRE.test(target);
|
|||
|
|
ret[prefix] = {
|
|||
|
|
target,
|
|||
|
|
changeOrigin: true,
|
|||
|
|
ws: true,
|
|||
|
|
rewrite: (path2) => path2.replace(new RegExp(`^${prefix}`), ""),
|
|||
|
|
// https is require secure=false
|
|||
|
|
...isHttps ? { secure: false } : {}
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// vite.config.ts
|
|||
|
|
import vueJsx from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
|
|||
|
|
import AutoImport from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/unplugin-auto-import/dist/vite.js";
|
|||
|
|
import Components from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/unplugin-vue-components/dist/vite.js";
|
|||
|
|
import { ElementPlusResolver } from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/unplugin-vue-components/dist/resolvers.js";
|
|||
|
|
import { nodePolyfills } from "file:///C:/code/gitea/NPQS-9100/pqs-9100_client/frontend/node_modules/vite-plugin-node-polyfills/dist/index.js";
|
|||
|
|
var __vite_injected_original_dirname = "C:\\code\\gitea\\NPQS-9100\\pqs-9100_client\\frontend";
|
|||
|
|
var vite_config_default = defineConfig(({ mode }) => {
|
|||
|
|
const root = process.cwd();
|
|||
|
|
const env = loadEnv(mode, root);
|
|||
|
|
const viteEnv = wrapperEnv(env);
|
|||
|
|
return {
|
|||
|
|
plugins: [
|
|||
|
|
vue(),
|
|||
|
|
vueJsx(),
|
|||
|
|
// svg图标配置,可以使用svg图标
|
|||
|
|
createSvgIconsPlugin({
|
|||
|
|
iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
|
|||
|
|
symbolId: "icon-[dir]-[name]"
|
|||
|
|
}),
|
|||
|
|
AutoImport({
|
|||
|
|
// 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
|
|||
|
|
imports: ["vue", "@vueuse/core", "pinia", "vue-router", "vue-i18n"],
|
|||
|
|
resolvers: [
|
|||
|
|
// 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
|
|||
|
|
ElementPlusResolver({
|
|||
|
|
importStyle: "sass"
|
|||
|
|
})
|
|||
|
|
],
|
|||
|
|
eslintrc: {
|
|||
|
|
// 是否自动生成 eslint 规则,建议生成之后设置 false
|
|||
|
|
enabled: false,
|
|||
|
|
// 指定自动导入函数 eslint 规则的文件
|
|||
|
|
filepath: "./.eslintrc-auto-import.json",
|
|||
|
|
globalsPropValue: true
|
|||
|
|
},
|
|||
|
|
// 是否在 vue 模板中自动导入
|
|||
|
|
vueTemplate: true,
|
|||
|
|
// 指定自动导入函数TS类型声明文件路径 (false:关闭自动生成)
|
|||
|
|
dts: false
|
|||
|
|
// dts: "src/types/auto-imports.d.ts",
|
|||
|
|
}),
|
|||
|
|
Components({
|
|||
|
|
resolvers: [
|
|||
|
|
// 自动导入 Element Plus 组件
|
|||
|
|
ElementPlusResolver({
|
|||
|
|
importStyle: "sass"
|
|||
|
|
})
|
|||
|
|
],
|
|||
|
|
// 指定自定义组件位置(默认:src/components)
|
|||
|
|
dirs: ["src/components", "src/**/components"],
|
|||
|
|
// 指定自动导入组件TS类型声明文件路径 (false:关闭自动生成)
|
|||
|
|
dts: false
|
|||
|
|
// dts: "src/types/components.d.ts",
|
|||
|
|
}),
|
|||
|
|
nodePolyfills({
|
|||
|
|
include: ["crypto"],
|
|||
|
|
globals: {
|
|||
|
|
crypto: true
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
],
|
|||
|
|
// 基础配置
|
|||
|
|
base: viteEnv.VITE_PUBLIC_PATH,
|
|||
|
|
root,
|
|||
|
|
publicDir: "public",
|
|||
|
|
resolve: {
|
|||
|
|
alias: {
|
|||
|
|
"@": path.resolve(__vite_injected_original_dirname, "src"),
|
|||
|
|
"vue-i18n": "vue-i18n/dist/vue-i18n.cjs.js"
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
css: {
|
|||
|
|
preprocessorOptions: {
|
|||
|
|
scss: {
|
|||
|
|
prependData: `@import "@/styles/var.scss";`,
|
|||
|
|
api: "modern-compiler"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
build: {
|
|||
|
|
outDir: "dist",
|
|||
|
|
assetsDir: "assets",
|
|||
|
|
assetsInlineLimit: 4096,
|
|||
|
|
cssCodeSplit: true,
|
|||
|
|
sourcemap: false,
|
|||
|
|
minify: "terser",
|
|||
|
|
terserOptions: {
|
|||
|
|
compress: {
|
|||
|
|
// 生产环境去除console及debug
|
|||
|
|
drop_console: false,
|
|||
|
|
drop_debugger: true
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
server: {
|
|||
|
|
host: "0.0.0.0",
|
|||
|
|
port: viteEnv.VITE_PORT,
|
|||
|
|
open: viteEnv.VITE_OPEN,
|
|||
|
|
cors: true,
|
|||
|
|
proxy: createProxy(viteEnv.VITE_PROXY)
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
});
|
|||
|
|
export {
|
|||
|
|
vite_config_default as default
|
|||
|
|
};
|
|||
|
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAiYnVpbGQvZ2V0RW52LnRzIiwgImJ1aWxkL3Byb3h5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiQzpcXFxcY29kZVxcXFxnaXRlYVxcXFxOUFFTLTkxMDBcXFxccHFzLTkxMDBfY2xpZW50XFxcXGZyb250ZW5kXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxjb2RlXFxcXGdpdGVhXFxcXE5QUVMtOTEwMFxcXFxwcXMtOTEwMF9jbGllbnRcXFxcZnJvbnRlbmRcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L2NvZGUvZ2l0ZWEvTlBRUy05MTAwL3Bxcy05MTAwX2NsaWVudC9mcm9udGVuZC92aXRlLmNvbmZpZy50c1wiO2ltcG9ydCB7IENvbmZpZ0VudiwgZGVmaW5lQ29uZmlnLCBsb2FkRW52LCBVc2VyQ29uZmlnIH0gZnJvbSAndml0ZSdcclxuaW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1zdmctaWNvbnMnXHJcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJ1xyXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xyXG4vLyBcdTU5MDRcdTc0MDZlbnZcdTczQUZcdTU4ODNcdTUzQzJcdTY1NzBcdThCRkJcdTUzRDZcclxuaW1wb3J0IHsgd3JhcHBlckVudiB9IGZyb20gJy4vYnVpbGQvZ2V0RW52J1xyXG5pbXBvcnQgeyBjcmVhdGVQcm94eSB9IGZyb20gJy4vYnVpbGQvcHJveHknXHJcbi8vIFx1NUJGQ1x1NTE2NVxyXG5pbXBvcnQgdnVlSnN4IGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZS1qc3gnXHJcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXHJcbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnXHJcbmltcG9ydCB7IEVsZW1lbnRQbHVzUmVzb2x2ZXIgfSBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnMnXHJcbmltcG9ydCB7IG5vZGVQb2x5ZmlsbHMgfSBmcm9tICd2aXRlLXBsdWdpbi1ub2RlLXBvbHlmaWxscydcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBtb2RlIH06IENvbmZpZ0Vudik6IFVzZXJDb25maWcgPT4ge1xyXG4gICAgY29uc3Qgcm9vdCA9IHByb2Nlc3MuY3dkKClcclxuICAgIGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcm9vdClcclxuICAgIGNvbnN0IHZpdGVFbnYgPSB3cmFwcGVyRW52KGVudilcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgcGx1Z2luczogW1xyXG4gICAgICAgICAgICB2dWUoKSxcclxuICAgICAgICAgICAgdnVlSnN4KCksXHJcbiAgICAgICAgICAgIC8vIHN2Z1x1NTZGRVx1NjgwN1x1OTE0RFx1N0Y2RVx1RkYwQ1x1NTNFRlx1NEVFNVx1NEY3Rlx1NzUyOHN2Z1x1NTZGRVx1NjgwN1xyXG4gICAgICAgICAgICBjcmVhdGVTdmdJY29uc1BsdWdpbih7XHJcbiAgICAgICAgICAgICAgICBpY29uRGlyczogW3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCAnc3JjL2Fzc2V0cy9pY29ucycpXSxcclxuICAgICAgICAgICAgICAgIHN5bWJvbElkOiAnaWNvbi1bZGlyXS1bbmFtZV0nXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBBdXRvSW1wb3J0KHtcclxuICAgICAgICAgICAgICAgIC8vIFx1ODFFQVx1NTJBOFx1NUJGQ1x1NTE2NSBWdWUgXHU3NkY4XHU1MTczXHU1MUZEXHU2NTcwXHVGRjBDXHU1OTgyXHVGRjFBcmVmLCByZWFjdGl2ZSwgdG9SZWYgXHU3QjQ5XHJcbiAgICAgICAgICAgICAgICBpbXBvcnRzOiBbJ3Z1ZScsICdAdnVldXNlL2NvcmUnLCAncGluaWEnLCAndnVlLXJvdXRlcicsICd2dWUtaTE4biddLFxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1IEVsZW1lbnQgUGx1cyBcdTc2RjhcdTUxNzNcdTUxRkRcdTY1NzBcdUZGMENcdTU5ODJcdUZGMUFFbE1lc3NhZ2UsIEVsTWVzc2FnZUJveC4uLiAoXHU1RTI2XHU2ODM3XHU1RjBGKVxyXG4gICAgICAgICAgICAgICAgICAgIEVsZW1lbnRQbHVzUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnRTdHlsZTogJ3Nhc3MnXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICBlc2xpbnRyYzoge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFx1NjYyRlx1NTQyNlx1ODFFQVx1NTJBOFx1NzUxRlx1NjIxMCBlc2xpbnQgXHU4OUM0XHU1MjE5XHVGRjBDXHU1RUZBXHU4QkFFXHU3NTFGXHU2MjEwXHU0RTRCXHU1NDBFXHU4QkJFXHU3RjZFIGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gXHU2MzA3XHU1QjlBXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1XHU1MUZEXHU2NTcwIGVzbGludCBcdTg5QzRcdTUyMTlcdTc2ODRcdTY1ODdcdTRFRjZcclxuICAgICAgICAgICAgICAgICAgICBmaWxlcGF0aDogJy4vLmVzbGludHJjLWF1dG8taW1wb3J0Lmpzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbHNQcm9wVmFsdWU6IHRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAvLyBcdTY2MkZcdTU0MjZcdTU3MjggdnVlIFx1NkEyMVx1Njc3Rlx1NEUyRFx1ODFFQVx1NTJBOFx1NUJGQ1x1NTE2NVxyXG4gICAgICAgICAgICAgICAgdnVlVGVtcGxhdGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAvLyBcdTYzMDdcdTVCOUFcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjVcdTUxRkRcdTY1NzBUU1x1N0M3Qlx1NTc4Qlx1NThGMFx1NjYwRVx1NjU4N1x1NEVGNlx1OERFRlx1NUY4NCAoZmFsc2U6XHU1MTczXHU5NUVEXHU4MUVBXHU1MkE4XHU3NTFGXHU2MjEwKVxyXG4gICAgICAgICAgICAgICAgZHRzOiBmYWxzZVxyXG4gI
|