How to configure the development build in index.js in vue.js

vite.config.js

import { fileURLToPath, URL } from “node:url”;

import { defineConfig, loadEnv } from “vite”;

import vue from “@vitejs/plugin-vue”;

import { viteSingleFile } from “vite-plugin-singlefile”;

 

export default defineConfig(({ command, mode, ssrBuild }) => {

  const env = loadEnv(mode, process.cwd(), “”);

 

  if (mode === “production”) {

    return {

      plugins: [vue(), viteSingleFile()],

      resolve: {

        alias: {

          “@”: fileURLToPath(new URL(“./src”, import.meta.url)),

        },

      },

      base: env.BASE_APP_URL,

      build: {

        target: “es2020”,

        // Set the output directory relative to the local root folder

        outDir: “production”,

        cssCodeSplit: false,

        sourcemap: false,

        manifest: false,

        ssrManifest: false,

        emptyOutDir: true,

        chunkSizeWarningLimit: 10000,

      },

    };

  } else if (mode === “sandbox”) {

    return {

      plugins: [vue(), viteSingleFile()],

      resolve: {

        alias: {

          “@”: fileURLToPath(new URL(“./src”, import.meta.url)),

        },

      },

      base: env.BASE_APP_URL,

      build: {

        target: “es2020”,

        // Set the output directory relative to the local root folder

        outDir: “sandbox”,

        sourcemap: false,

        manifest: false,

        ssrManifest: false,

        emptyOutDir: true,

        chunkSizeWarningLimit: 10000,

      },

    };

  } else if (mode === “development”) {

    return {

      plugins: [vue(), viteSingleFile()],

      resolve: {

        alias: {

          “@”: fileURLToPath(new URL(“./src”, import.meta.url)),

        },

      },

      base: env.BASE_APP_URL,

      build: {

        target: “es2020”,

        outDir: “development”,

        sourcemap: false,

        manifest: false,

        ssrManifest: false,

        emptyOutDir: true,

        chunkSizeWarningLimit: 10000,

      },

    };

  } else {

    return {

      plugins: [vue()],

      resolve: {

        alias: {

          “@”: fileURLToPath(new URL(“./src”, import.meta.url)),

        },

      },

      base: env.BASE_APP_URL,

      build: {

        target: “es2020”,

        sourcemap: true,

        manifest: true,

        ssrManifest: false,

        emptyOutDir: true,

        chunkSizeWarningLimit: 10000,

      },

    };

  }

});

Leave a comment

Your email address will not be published. Required fields are marked *