| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import path from 'path'
- import pkg from './package.json'
- import { defineConfig } from 'vite'
- import { createVuePlugin } from 'vite-plugin-vue2'
- export default defineConfig({
- base: '/',
- resolve: {
- alias: {
- '@': path.resolve(__dirname, 'src'),
- 'vue': 'vue/dist/vue.common'
- }
- },
- server: {
- host: '0.0.0.0',
- port: 3000
- },
- build: {
- minify: true,
- cssCodeSplit: true, // 将组件的 style 打包到 js 文件中
- outDir: 'dist',
- lib: {
- target: 'esnext',
- formats: ['umd'],
- entry: path.resolve(__dirname, 'src/main.js'),
- name: 'CustomForm',
- fileName: (format) => `form.${pkg.version}.${format}.js`
- },
- rollupOptions: {
- // 确保外部化处理那些你不想打包进库的依赖
- external: ['vue'],
- output: {
- // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
- globals: {
- vue: 'Vue'
- }
- }
- }
- },
- plugins: [
- createVuePlugin({
- jsx: true,
- // 解决Dom结构中会出现多余的空白字符,导致文本内容间出现分隔、行内标签间出现空格
- vueTemplateOptions: {
- compilerOptions: {
- whitespace: 'condense'
- }
- },
- jsxOptions: {
- compositionAPI: true
- }
- }),
- ]
- })
|