CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

关于 vite.config.js 相关配置

使用 vite 创建项目完成后会自动生成 一个 vite.config.js 代码如下:import { defineConfig } fromviteimport vue from@vitejs/plugin-vue

exportdefault defineConfig({ plugins: [vue()], })当以命令方式运行 vite 时,vite 会自动解析项目根目录下 vite.config.js 的文件。

配置不全时,在开发环境下运行都是正常的,但是打包上线的时候就会出现各种问题如:假设不配置 base 时,打包之后,访问时出现白屏alias 不配置的时候,每次引入文件需要找根目录,比较麻烦以下是 vite.config.js 的更多常用参数配置以及意义:。

import { defineConfig } fromvite// 帮手函数,这样不用 jsdoc 注解也可以获取类型提示import vue from@vitejs/plugin-vueconst { resolve } =

require(path) import { viteMockServe } from”vite-plugin-mock”const localEnabled = process.env.USE_MOCK ||

false; const prodEnabled = process.env.USE_CHUNK_MOCK || false; // https://vitejs.dev/config/exportdefault

() => defineConfig({ plugins: [ //配置需要使用的插件列表 vue(), viteMockServe({ mockPath: “./src/server/mock”

, localEnabled: localEnabled, // 开发打包开关 true时打开mock false关闭mockprodEnabled: prodEnabled,//prodEnabled, // 生产打包开关

// 这样可以控制关闭mock的时候不让mock打包到最终代码内injectCode: ` import { setupProdMockServer } from ./mockProdServer; setupProdMockServer(); `

, logger: false, //是否在控制台显示请求日志supportTs:false//打开后,可以读取 ts 文件模块 打开后将无法监视 .js 文件 }) ], // 强制预构建插件包

optimizeDeps: { //检测需要预构建的依赖项entries: [], //默认情况下,不在 node_modules 中的,链接的包不会预构建include: [axios],

exclude:[your-package-name] //排除在优化之外 }, //静态资源服务的文件夹publicDir: “public”, base: ./, //静态资源处理assetsInclude

: “”, //控制台输出的级别 info 、warn、error、silentlogLevel: “info”, // 设为false 可以避免 vite 清屏而错过在终端中打印某些关键信息clearScreen

:true, resolve: { alias: [//配置别名 { find: @, replacement: resolve(__dirname, src) } ], // 情景导出 package.json 配置中的exports字段

conditions: [], // 导入时想要省略的扩展名列表// 不建议使用 .vue 影响IDE和类型支持extensions:[.mjs,.js,.ts,.jsx,.tsx,.json] },

// csscss: { // 配置 css modules 的行为modules: { }, // postCss 配置postcss: { }, //指定传递给 css 预处理器的选项

preprocessorOptions:{ scss: { additionalData:`$injectedColor:orange;` } } }, json: {

//是否支持从 .json 文件中进行按名导入namedExports: true, //若设置为 true 导入的json会被转为 export default JSON.parse(“..”) 会比转译成对象字面量性能更好

stringify:false }, //继承自 esbuild 转换选项,最常见的用例是自定义 JSXesbuild: { jsxFactory: “h”, jsxFragment: “Fragment”

, jsxInject:`import Vue from vue` }, //本地运行配置,以及反向代理配置server: { host: “localhost”, https: false

,//是否启用 http 2cors: true,//为开发服务器配置 CORS , 默认启用并允许任何源open: true,//服务启动时自动在浏览器中打开应用port: “9000”, strictPort

: false, //设为true时端口被占用则直接退出,不会尝试下一个可用端口force: true,//是否强制依赖预构建hmr: false,//禁用或配置 HMR 连接// 传递给 chockidar 的文件系统监视器选项

watch: { ignored:[“!**/node_modules/your-package-name/**”] }, // 反向代理配置proxy: { /api: {

target: “https://xxxx.com/”, changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ) } } },

//打包配置build: { //浏览器兼容性 “esnext”|”modules”target: “modules”, //指定输出路径outDir: “dist”, //生成静态资源的存放路径

assetsDir: “assets”, //小于此阈值的导入或引用资源将内联为 base64 编码,以避免额外的 http 请求设置为 0 可以完全禁用此项assetsInlineLimit: 4096

, //启用/禁用 CSS 代码拆分cssCodeSplit: true, //构建后是否生成 source map 文件sourcemap: false, //自定义底层的 Rollup 打包配置

rollupOptions: { }, //@rollup/plugin-commonjs 插件的选项commonjsOptions: { }, //构建的库lib: { },

//当设置为 true,构建后将会生成 manifest.json 文件manifest: false, // 设置为 false 可以禁用最小化混淆,// 或是用来指定使用哪种混淆器// boolean | terser | esbuild

minify: “terser”, //terser 构建后文件体积更小//传递给 Terser 的更多 minify 选项terserOptions: { }, //设置为 false 来禁用将构建后的文件写入磁盘。

write: true, //默认情况下,若 outDir 在 root 目录下,则 Vite 会在构建时清空该目录emptyOutDir: true, //启用/禁用 brotli 压缩大小报告。

brotliSize: true, //chunk 大小警告的限制chunkSizeWarningLimit: 500 }, ssr: { // 列出的是要为 SSR 强制外部化的依赖external

: [], //列出的是防止被 SSR 外部化依赖项noExternal: [ ] } })好了小编今天的文章就到此结束了,喜欢我的可以点个关注哦

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容