vite组件按需导入:vite-plugin-babel-import vs vite-plugin-style-import
Author:zhoulujun Date:
vite 组件按需导入,可选择的插件有: vite-plugin-babel-import vite-plugin-style-import,我个人选择的是:vite-plugin-style-import
关于组件库按需加载的内容,推荐阅读:庖丁解牛:《最全babel-plugin-import源码详解 https://juejin.cn/post/6940797329603559454》
vite-plugin-babel-import
https://github.com/0ahz/vite-plugin-babel-import
// vite.config.js // ... import vitePluginImport from 'vite-plugin-babel-import'; // ... export default { // ... plugins: [ // ... vitePluginImport([ { libraryName: 'vant', libraryDirectory: 'es', style(name) { return `vant/es/${name}/index.css`; }, }, { libraryName: 'element-plus', libraryDirectory: 'es', style(name) { return `element-plus/lib/theme-chalk/${name}.css`; }, }, { libraryName: 'ant-design-vue', libraryDirectory: 'es', style(name) { return `ant-design-vue/lib/${name}/style/index.css`; }, }, ]), ], // ... };
vite-plugin-style-import
https://github.com/vbenjs/vite-plugin-style-import
import { createStyleImportPlugin } from 'vite-plugin-style-import'; export default { // ... plugins: [ // ... createStyleImportPlugin({ resolves: [ AndDesignVueResolve(), VantResolve(), ElementPlusResolve(), NutuiResolve(), AntdResolve(), ], libs: [ // If you don’t have the resolve you need, you can write it directly in the lib, or you can provide us with PR { libraryName: 'ant-design-vue', esModule: true, resolveStyle: (name) => { return `ant-design-vue/es/${name}/style/index` }, }, ], }), // ... };
转载本站文章《vite组件按需导入:vite-plugin-babel-import vs vite-plugin-style-import》,
请注明出处:https://www.zhoulujun.cn/html/tools/Bundler/vite/8838.html