UNPKG

@plugin-light/project-config-vite

Version:

开箱即用的项目配置,适用于 Vue3.x 项目

116 lines (79 loc) 3.16 kB
## Vite 项目基础配置 <p align="center"> <img src="https://img.shields.io/npm/dw/@plugin-light/project-config-vite"> <img src="https://img.shields.io/npm/unpacked-size/@plugin-light/project-config-vite"> <img src="https://img.shields.io/npm/v/@plugin-light/project-config-vite"> <img src="https://img.shields.io/npm/l/@plugin-light/project-config-vite"> <img src="https://img.shields.io/github/last-commit/novlan1/plugin-light"> <img src="https://img.shields.io/github/created-at/novlan1/plugin-light"> </p> 封装 `vite.config.ts` 的基本配置,开箱即用。 ### 如何使用 安装 ```bash pnpm add @plugin-light/project-config-vite -D ``` 在 `vite.config.ts` 中添加如下设置: ```js import { getViteBaseConfig } from "@plugin-light/project-config-vite"; import { defineConfig } from "vite"; export default defineConfig(({ mode }) => { return getViteBaseConfig({ mode }); }); ``` ### 参数 ```ts import type { IAddCodeAtEndOptions } from '@plugin-light/vite-plugin-add-code-at-end'; import type { IAliasForLibraryOptions } from '@plugin-light/vite-plugin-alias-for-library'; import type { Server } from 'node:https'; import type { MkcertPluginOptions } from 'vite-plugin-mkcert'; export type GetViteConfigOptions = { // 模式,对应 Vite 中 defineConfig 的 mode 参数 mode: string; // 本地开发端口 serverPort?: number; // 本地开发是否是 https serverHttps?: Server; // 参考 https://cn.vitejs.dev/config/server-options.html#server-host serverHost?: string | boolean; // 对应 optimizeDeps.include optimizeDepsIncludes?: Array<string>; // 对应 optimizeDeps.exclude optimizeDepsExcludes?: Array<string>; // add-code-at-end 插件参数 addCodeAtEndOptions?: IAddCodeAtEndOptions | boolean; // 是否使用 press-ui 本地的 alias 配置 pressUiAlias?: string; pressPlusAlias?: string; // alias-for-library 插件参数 aliasForLibraryOptions?: IAliasForLibraryOptions; // pmd-tools 之类的别名映射 pmdAliasMap?: Record<string, string>; customElements?: Array<string>; // 三方库是否使用 cdn 链接,比如 vue,vue-router useCdn?: boolean; useElementPlusCDN?: boolean; // vite-plugin-mkcert 参数 mkcertOptions?: boolean | MkcertPluginOptions; // 前置插件 prePlugins?: Array<Plugin>; // 后置插件 postPlugins?: Array<Plugin>; }; ``` ### 注意事项 1. node.js 版本 >= 16 2. 支持在环境变量文件中配置 `VUE_APP_DIR`,环境变量文件可以是 `.env`, `.env.local` 等 也支持不配置,此时应用入口是 `src/main.ts`,即非 `monorepo` 模式 ### 打包产物分析 当 `process.env.VITE_VISUALIZER` 不为 `falsy` 时,本工具会使用 `rollup-plugin-visualizer` 插件,开发者可用来进行打包分析。 ### 兼容 Vue 默认导出 内部使用了 [vite-plugin-export-default-in-vue](./vite-plugin-export-default-in-vue.html),来兼容 `Vue2.x` 时期的默认导入 Vue 对象。 ### optimizeDepsIncludes 对应 `optimizeDeps.include`,业务中常用到的有: - md5 - js-cookie - qs - axios ### 更新日志 [点此查看](./CHANGELOG.md)