代码拉取完成,页面将自动刷新
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import dts from 'vite-plugin-dts';
import { readdirSync } from 'node:fs';
import path from 'path';
const entries = {};
const entryFiles = readdirSync('./src', { recursive: true, encoding: 'utf-8' });
for (const filename of entryFiles) {
if (filename.startsWith('components') || filename.startsWith('directives')) {
const filepath = path.parse(filename);
if (filepath.ext === '') continue;
const fileAbsName = path.join('src', filename);
if (filepath.dir === `components${path.sep}Message`) {
if (filepath.ext === '.ts') {
entries[filepath.dir] = fileAbsName;
}
} else {
entries[path.join(filepath.dir, filepath.name)] = fileAbsName;
}
}
}
entries['index'] = 'src/index.ts';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
dts({
tsconfigPath: 'tsconfig.types.json',
}),
],
build: {
outDir: 'lib',
lib: {
entry: entries,
formats: ['es'],
fileName: (format, entryName) => {
return `${entryName}.js`;
},
},
rollupOptions: {
// 确保外部化处理那些你不想打包进库的依赖
external: ['vue', 'ph-utils', 'vue-router', '@tanstack/vue-table'],
output: {
chunkFileNames: '[name]-[hash].js',
},
},
emptyOutDir: true,
copyPublicDir: false,
},
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。