| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import { defineConfig } from 'vite';
- import vue from '@vitejs/plugin-vue';
- import path from 'path';
- import fs from 'fs-extra';
- import configPkg from './src/config.json';
- let input = {};
- configPkg.nav.map((item) => {
- item.packages.forEach((element) => {
- let { name, exclude } = element;
- // if (name.toLowerCase().indexOf('calendar') != -1) {
- if (exclude != true) {
- const filePath = path.join(`./src/packages/__VUE/${name.toLowerCase()}/index.taro.vue`);
- input[name] = `./src/packages/__VUE/${name.toLowerCase()}/index${fs.existsSync(filePath) ? '.taro' : ''}.vue`;
- }
- // }
- });
- });
- export default defineConfig({
- resolve: {
- alias: [{ find: '@', replacement: path.resolve(__dirname, './src') }]
- },
- plugins: [
- vue({
- template: {
- compilerOptions: {
- isCustomElement: (tag) => {
- return (
- tag.startsWith('scroll-view') ||
- tag.startsWith('swiper') ||
- tag.startsWith('swiper-item') ||
- tag.startsWith('picker') ||
- tag.startsWith('picker-view') ||
- tag.startsWith('picker-view-column')
- );
- },
- whitespace: 'preserve'
- }
- }
- })
- ],
- build: {
- minify: false,
- lib: {
- entry: '',
- name: 'index',
- // fileName: (format) => format,
- formats: ['es']
- },
- rollupOptions: {
- // 请确保外部化那些你的库中不需要的依赖
- external: [
- 'vue',
- 'vue-router',
- '@tarojs/taro',
- '@/packages/locale',
- '@tarojs/components',
- '@nutui/icons-vue-taro'
- ],
- input,
- output: {
- paths: {
- '@/packages/locale': '../locale/lang'
- },
- dir: path.resolve(__dirname, './dist/packages/_es'),
- entryFileNames: '[name].js',
- plugins: []
- }
- },
- emptyOutDir: false
- }
- });
|