|
@@ -0,0 +1,73 @@
|
|
|
+import { defineConfig } from "vite";
|
|
|
+import vue from "@vitejs/plugin-vue";
|
|
|
+import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
|
|
|
+
|
|
|
+import { resolve } from "path";
|
|
|
+
|
|
|
+function pathResolve(dir) {
|
|
|
+ return resolve(process.cwd(), ".", dir);
|
|
|
+}
|
|
|
+
|
|
|
+export default defineConfig({
|
|
|
+ resolve: {
|
|
|
+ alias: [{
|
|
|
+ find: "@",
|
|
|
+ replacement: pathResolve("src"),
|
|
|
+ }, ],
|
|
|
+ dedupe: ["vue"],
|
|
|
+ },
|
|
|
+ plugins: [
|
|
|
+ vue(),
|
|
|
+ createSvgIconsPlugin({
|
|
|
+ // 指定需要缓存的图标文件夹
|
|
|
+ iconDirs: [resolve(process.cwd(), "src/assets/svg")],
|
|
|
+ // 指定symbolId格式
|
|
|
+ symbolId: "icon-[dir]-[name]",
|
|
|
+ }),
|
|
|
+ ],
|
|
|
+ css: {
|
|
|
+ // css预处理器
|
|
|
+ preprocessorOptions: {
|
|
|
+ less: {
|
|
|
+ charset: false, // 解决中文乱码
|
|
|
+ modifyVars: {
|
|
|
+ "arcoblue-6": "#0b3d7f",
|
|
|
+ },
|
|
|
+ javascriptEnabled: true,
|
|
|
+ additionalData: '@import "@/assets/css/theme.less";@import "@/assets/css/global.less";',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ build: {
|
|
|
+ minify: true, // 生产环境不生成sourcemap
|
|
|
+ target: "es2015",
|
|
|
+ // 警报门槛,限制大文件大小
|
|
|
+ chunkSizeWarningLimit: 5000,
|
|
|
+ rollupOptions: {
|
|
|
+ external: [], // 外部化处理那些你不想打包进库的依赖
|
|
|
+ // 静态资源分类打包
|
|
|
+ output: {
|
|
|
+ chunkFileNames: "static/js/[name]-[hash].js",
|
|
|
+ entryFileNames: "static/js/[name]-[hash].js",
|
|
|
+ assetFileNames: "static/[ext]/[name]-[hash].[ext]",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ server: {
|
|
|
+ port: 8088,
|
|
|
+ host: "0.0.0.0",
|
|
|
+ open: true,
|
|
|
+ cors: true,
|
|
|
+ hmr: true,
|
|
|
+ proxy: {
|
|
|
+ "/api": {
|
|
|
+ target: "http://sim.nanodreamtech.com",
|
|
|
+ // target: "http://127.0.0.1:3001",
|
|
|
+ // target: "https://flexi.flexistream.link",
|
|
|
+ changeOrigin: true,
|
|
|
+ ws: true,
|
|
|
+ secure: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+});
|