12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import AutoImport from "unplugin-auto-import/vite";
- import Components from "unplugin-vue-components/vite";
- import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
- import ElementPlus from "unplugin-element-plus/vite";
- // import { visualizer } from 'rollup-plugin-visualizer'
- export default defineNuxtConfig({
- css: [
- "@/assets/style/variable.scss",
- "@/assets/style/reset.scss",
- "@/assets/style/base.scss",
- "@/assets/iconfont/iconfont.css",
- // "element-plus/dist/index.css",
- ],
- modules: ["@pinia/nuxt"],
- vite: {
- // Vite 在开发模式下会对第三方依赖(node_modules)做一次 预打包(pre-bundling),以便提高运行时性能。
- optimizeDeps: {
- include: [
- "element-plus",
- "axios",
- "qs",
- "pinia",
- "pinia-plugin-persistedstate",
- "@gtm-support/vue-gtm",
- "vue3-google-map",
- "vue3-slide-verify",
- "qrcanvas",
- ],
- },
- // SSR 打包时被内联进产物,而不是被当成外部依赖由 Node 直接加载
- ssr: {
- noExternal: ["@popperjs/core", "element-plus"],
- },
- css: {
- preprocessorOptions: {
- scss: {
- additionalData: '@use "@/assets/style/theme.scss" as *;',
- quietDeps: true, // 禁用 Deprecation Warning
- },
- },
- },
- plugins: [
- ElementPlus({}), // 自动按需引入样式
- AutoImport({
- resolvers: [ElementPlusResolver()],
- }),
- Components({
- resolvers: [ElementPlusResolver()],
- }),
- ],
- server: {
- proxy: {
- "/api": {
- target: "http://54.46.9.88:8001/",
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, ""),
- },
- },
- hmr: {
- overlay: false, // 关闭 HMR 警告/错误弹窗
- },
- },
- // 👇 开发环境强制打成一个 chunk
- build:
- process.env.NODE_ENV === "development"
- ? {
- rollupOptions: {
- output: {
- manualChunks: () => "index.js", // 所有打进一个 chunk
- },
- },
- }
- : undefined,
- // {
- // rollupOptions: {
- // plugins: [visualizer({ open: true })],
- // },
- // },
- },
- runtimeConfig: {},
- app: {
- head: {
- htmlAttrs: {
- lang: "en",
- },
- },
- },
- // plugins: ["~/plugins/vue-warn-handler.js"],
- build: {
- // transpile: ["element-plus"],
- },
- });
|