UNPKG

wayne-cli-tools

Version:

一个react脚手架(vite,nextjs)

104 lines (101 loc) 2.6 kB
import { defineConfig, loadEnv, ConfigEnv, UserConfig } from "vite"; import { resolve } from "path"; import react from "@vitejs/plugin-react"; import { visualizer } from "rollup-plugin-visualizer"; import viteCompression from "vite-plugin-compression"; import { wrapperEnv } from "./src/utils/getEnv"; import { createHtmlPlugin } from "vite-plugin-html"; // https://vitejs.dev/config/ export default defineConfig((configEnv: ConfigEnv): UserConfig => { const env = loadEnv(configEnv.mode, process.cwd()); console.log("======env:", env); const viteEnv = wrapperEnv(env); return { define: { "process.env": process.env }, // alias config resolve: { alias: { "@": resolve(__dirname, "./src") } }, // global css css: { preprocessorOptions: { less: { // modifyVars: { // "primary-color": "#1DA57A", // }, javascriptEnabled: true, additionalData: `@import "@/styles/var.less";` } } }, server: { host: "0.0.0.0", // 服务器主机名,如果允许外部访问,可设置为"0.0.0.0" port: viteEnv.VITE_PORT, open: viteEnv.VITE_OPEN, cors: true, // https: false, proxy: { "/website": { // target: "http://121.36.46.110:16924", // target: "https://council.greendev.org.cn", target: "http://121.36.46.110:16891", changeOrigin: true, rewrite: path => path.replace(/^\/website/, "/website") }, "/applet": { target: "http://121.36.46.110:16922", // target: " http://192.168.1.107:16921", changeOrigin: true, rewrite: path => path.replace(/^\/applet/, "/applet") } } }, plugins: [ react(), createHtmlPlugin({ inject: { data: { title: viteEnv.VITE_GLOB_APP_TITLE } } }), // * 是否生成包预览 viteEnv.VITE_PREVIEW_REPORT && visualizer({ open: true, //注意这里要设置为true,否则无效 filename: "preview.html", gzipSize: true, brotliSize: true }), // * gzip compress viteEnv.VITE_BUILD_GZIP && viteCompression({ verbose: true, disable: false, threshold: 10240, algorithm: "gzip", ext: ".gz" }) ], esbuild: { pure: viteEnv.VITE_DROP_CONSOLE ? ["console.log", "debugger"] : [] }, // build configure build: { outDir: "dist", minify: "esbuild", rollupOptions: { output: { // Static resource classification and packaging chunkFileNames: "assets/js/[name]-[hash].js", entryFileNames: "assets/js/[name]-[hash].js", assetFileNames: "assets/[ext]/[name]-[hash].[ext]" } } } }; });