Commit fea323cff18b80b0c9dbee72b7ffc85cd3f14bdf
1 parent
dc39567a
chore: css is no longer imported on demand
Showing
7 changed files
with
1 additions
and
132 deletions
README.md
@@ -131,7 +131,6 @@ If these plugins are helpful to you, you can give a star support | @@ -131,7 +131,6 @@ If these plugins are helpful to you, you can give a star support | ||
131 | 131 | ||
132 | - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Used for local and development environment data mock | 132 | - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Used for local and development environment data mock |
133 | - [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - Used for html template conversion and compression | 133 | - [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - Used for html template conversion and compression |
134 | -- [vite-plugin-style-import](https://github.com/anncwb/vite-plugin-style-import) - Used for component library style introduction on demand | ||
135 | - [vite-plugin-theme](https://github.com/anncwb/vite-plugin-theme) - Used for online switching of theme colors and other color-related configurations | 134 | - [vite-plugin-theme](https://github.com/anncwb/vite-plugin-theme) - Used for online switching of theme colors and other color-related configurations |
136 | - [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - Used to pack input .gz|.brotil files | 135 | - [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - Used to pack input .gz|.brotil files |
137 | - [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - Used to quickly generate svg sprite | 136 | - [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - Used to quickly generate svg sprite |
README.zh-CN.md
@@ -141,7 +141,6 @@ pnpm build | @@ -141,7 +141,6 @@ pnpm build | ||
141 | 141 | ||
142 | - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 用于本地及开发环境数据 mock | 142 | - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 用于本地及开发环境数据 mock |
143 | - [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - 用于 html 模版转换及压缩 | 143 | - [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - 用于 html 模版转换及压缩 |
144 | -- [vite-plugin-style-import](https://github.com/anncwb/vite-plugin-style-import) - 用于组件库样式按需引入 | ||
145 | - [vite-plugin-theme](https://github.com/anncwb/vite-plugin-theme) - 用于在线切换主题色等颜色相关配置 | 144 | - [vite-plugin-theme](https://github.com/anncwb/vite-plugin-theme) - 用于在线切换主题色等颜色相关配置 |
146 | - [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - 用于打包输出.gz|.brotil 文件 | 145 | - [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - 用于打包输出.gz|.brotil 文件 |
147 | - [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - 用于快速生成 svg 雪碧图 | 146 | - [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - 用于快速生成 svg 雪碧图 |
build/vite/plugin/imagemin.ts deleted
100644 → 0
1 | -// Image resource files used to compress the output of the production environment | ||
2 | -// https://github.com/anncwb/vite-plugin-imagemin | ||
3 | -import viteImagemin from 'vite-plugin-imagemin'; | ||
4 | - | ||
5 | -export function configImageminPlugin() { | ||
6 | - const plugin = viteImagemin({ | ||
7 | - gifsicle: { | ||
8 | - optimizationLevel: 7, | ||
9 | - interlaced: false, | ||
10 | - }, | ||
11 | - optipng: { | ||
12 | - optimizationLevel: 7, | ||
13 | - }, | ||
14 | - mozjpeg: { | ||
15 | - quality: 20, | ||
16 | - }, | ||
17 | - pngquant: { | ||
18 | - quality: [0.8, 0.9], | ||
19 | - speed: 4, | ||
20 | - }, | ||
21 | - svgo: { | ||
22 | - plugins: [ | ||
23 | - { | ||
24 | - name: 'removeViewBox', | ||
25 | - }, | ||
26 | - { | ||
27 | - name: 'removeEmptyAttrs', | ||
28 | - active: false, | ||
29 | - }, | ||
30 | - ], | ||
31 | - }, | ||
32 | - }); | ||
33 | - return plugin; | ||
34 | -} |
build/vite/plugin/index.ts
@@ -4,12 +4,10 @@ import vueJsx from '@vitejs/plugin-vue-jsx'; | @@ -4,12 +4,10 @@ import vueJsx from '@vitejs/plugin-vue-jsx'; | ||
4 | import purgeIcons from 'vite-plugin-purge-icons'; | 4 | import purgeIcons from 'vite-plugin-purge-icons'; |
5 | import windiCSS from 'vite-plugin-windicss'; | 5 | import windiCSS from 'vite-plugin-windicss'; |
6 | import VitePluginCertificate from 'vite-plugin-mkcert'; | 6 | import VitePluginCertificate from 'vite-plugin-mkcert'; |
7 | -//import vueSetupExtend from 'vite-plugin-vue-setup-extend'; | ||
8 | import { configHtmlPlugin } from './html'; | 7 | import { configHtmlPlugin } from './html'; |
9 | import { configPwaConfig } from './pwa'; | 8 | import { configPwaConfig } from './pwa'; |
10 | import { configMockPlugin } from './mock'; | 9 | import { configMockPlugin } from './mock'; |
11 | import { configCompressPlugin } from './compress'; | 10 | import { configCompressPlugin } from './compress'; |
12 | -import { configStyleImportPlugin } from './styleImport'; | ||
13 | import { configVisualizerConfig } from './visualizer'; | 11 | import { configVisualizerConfig } from './visualizer'; |
14 | import { configThemePlugin } from './theme'; | 12 | import { configThemePlugin } from './theme'; |
15 | import { configSvgIconsPlugin } from './svgSprite'; | 13 | import { configSvgIconsPlugin } from './svgSprite'; |
@@ -44,9 +42,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { | @@ -44,9 +42,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { | ||
44 | // vite-plugin-purge-icons | 42 | // vite-plugin-purge-icons |
45 | vitePlugins.push(purgeIcons()); | 43 | vitePlugins.push(purgeIcons()); |
46 | 44 | ||
47 | - // vite-plugin-style-import | ||
48 | - vitePlugins.push(configStyleImportPlugin(isBuild)); | ||
49 | - | ||
50 | // rollup-plugin-visualizer | 45 | // rollup-plugin-visualizer |
51 | vitePlugins.push(configVisualizerConfig()); | 46 | vitePlugins.push(configVisualizerConfig()); |
52 | 47 |
build/vite/plugin/styleImport.ts deleted
100644 → 0
1 | -/** | ||
2 | - * Introduces component library styles on demand. | ||
3 | - * https://github.com/anncwb/vite-plugin-style-import | ||
4 | - */ | ||
5 | -import { createStyleImportPlugin, VxeTableResolve } from 'vite-plugin-style-import'; | ||
6 | - | ||
7 | -export function configStyleImportPlugin(_isBuild: boolean) { | ||
8 | - if (!_isBuild) { | ||
9 | - return []; | ||
10 | - } | ||
11 | - const styleImportPlugin = createStyleImportPlugin({ | ||
12 | - libs: [ | ||
13 | - { | ||
14 | - libraryName: 'ant-design-vue', | ||
15 | - esModule: true, | ||
16 | - resolveStyle: (name) => { | ||
17 | - // 这里是无需额外引入样式文件的“子组件”列表 | ||
18 | - const ignoreList = [ | ||
19 | - 'anchor-link', | ||
20 | - 'sub-menu', | ||
21 | - 'menu-item', | ||
22 | - 'menu-divider', | ||
23 | - 'menu-item-group', | ||
24 | - 'breadcrumb-item', | ||
25 | - 'breadcrumb-separator', | ||
26 | - 'form-item', | ||
27 | - 'step', | ||
28 | - 'select-option', | ||
29 | - 'select-opt-group', | ||
30 | - 'card-grid', | ||
31 | - 'card-meta', | ||
32 | - 'collapse-panel', | ||
33 | - 'descriptions-item', | ||
34 | - 'list-item', | ||
35 | - 'list-item-meta', | ||
36 | - 'table-column', | ||
37 | - 'table-column-group', | ||
38 | - 'tab-pane', | ||
39 | - 'tab-content', | ||
40 | - 'timeline-item', | ||
41 | - 'tree-node', | ||
42 | - 'skeleton-input', | ||
43 | - 'skeleton-avatar', | ||
44 | - 'skeleton-title', | ||
45 | - 'skeleton-paragraph', | ||
46 | - 'skeleton-image', | ||
47 | - 'skeleton-button', | ||
48 | - ]; | ||
49 | - // 这里是需要额外引入样式的子组件列表 | ||
50 | - // 单独引入子组件时需引入组件样式,否则会在打包后导致子组件样式丢失 | ||
51 | - const replaceList = { | ||
52 | - textarea: 'input', | ||
53 | - 'typography-text': 'typography', | ||
54 | - 'typography-title': 'typography', | ||
55 | - 'typography-paragraph': 'typography', | ||
56 | - 'typography-link': 'typography', | ||
57 | - 'dropdown-button': 'dropdown', | ||
58 | - 'input-password': 'input', | ||
59 | - 'input-search': 'input', | ||
60 | - 'input-group': 'input', | ||
61 | - 'radio-group': 'radio', | ||
62 | - 'checkbox-group': 'checkbox', | ||
63 | - 'layout-sider': 'layout', | ||
64 | - 'layout-content': 'layout', | ||
65 | - 'layout-footer': 'layout', | ||
66 | - 'layout-header': 'layout', | ||
67 | - 'month-picker': 'date-picker', | ||
68 | - 'range-picker': 'date-picker', | ||
69 | - 'image-preview-group': 'image', | ||
70 | - }; | ||
71 | - | ||
72 | - return ignoreList.includes(name) | ||
73 | - ? '' | ||
74 | - : replaceList.hasOwnProperty(name) | ||
75 | - ? `ant-design-vue/es/${replaceList[name]}/style/index` | ||
76 | - : `ant-design-vue/es/${name}/style/index`; | ||
77 | - }, | ||
78 | - }, | ||
79 | - ], | ||
80 | - resolves: [VxeTableResolve()], | ||
81 | - }); | ||
82 | - return styleImportPlugin; | ||
83 | -} |
package.json
@@ -180,10 +180,8 @@ | @@ -180,10 +180,8 @@ | ||
180 | "vite-plugin-mock": "^2.9.6", | 180 | "vite-plugin-mock": "^2.9.6", |
181 | "vite-plugin-purge-icons": "^0.8.1", | 181 | "vite-plugin-purge-icons": "^0.8.1", |
182 | "vite-plugin-pwa": "^0.11.13", | 182 | "vite-plugin-pwa": "^0.11.13", |
183 | - "vite-plugin-style-import": "^2.0.0", | ||
184 | "vite-plugin-svg-icons": "^2.0.1", | 183 | "vite-plugin-svg-icons": "^2.0.1", |
185 | "vite-plugin-theme": "^0.8.6", | 184 | "vite-plugin-theme": "^0.8.6", |
186 | - "vite-plugin-vue-setup-extend": "^0.4.0", | ||
187 | "vite-plugin-windicss": "^1.8.4", | 185 | "vite-plugin-windicss": "^1.8.4", |
188 | "vue-eslint-parser": "^8.3.0", | 186 | "vue-eslint-parser": "^8.3.0", |
189 | "vue-tsc": "^1.0.9" | 187 | "vue-tsc": "^1.0.9" |
src/main.ts
@@ -3,6 +3,7 @@ import 'virtual:windi-components.css'; | @@ -3,6 +3,7 @@ import 'virtual:windi-components.css'; | ||
3 | import '/@/design/index.less'; | 3 | import '/@/design/index.less'; |
4 | import '/@/components/VxeTable/src/css/index.scss'; | 4 | import '/@/components/VxeTable/src/css/index.scss'; |
5 | import 'virtual:windi-utilities.css'; | 5 | import 'virtual:windi-utilities.css'; |
6 | +import 'ant-design-vue/dist/antd.css'; | ||
6 | // Register icon sprite | 7 | // Register icon sprite |
7 | import 'virtual:svg-icons-register'; | 8 | import 'virtual:svg-icons-register'; |
8 | import App from './App.vue'; | 9 | import App from './App.vue'; |
@@ -16,12 +17,6 @@ import { setupGlobDirectives } from '/@/directives'; | @@ -16,12 +17,6 @@ import { setupGlobDirectives } from '/@/directives'; | ||
16 | import { setupI18n } from '/@/locales/setupI18n'; | 17 | import { setupI18n } from '/@/locales/setupI18n'; |
17 | import { registerGlobComp } from '/@/components/registerGlobComp'; | 18 | import { registerGlobComp } from '/@/components/registerGlobComp'; |
18 | 19 | ||
19 | -import { isDevMode } from './utils/env'; | ||
20 | - | ||
21 | -if (isDevMode()) { | ||
22 | - import('ant-design-vue/es/style'); | ||
23 | -} | ||
24 | - | ||
25 | async function bootstrap() { | 20 | async function bootstrap() { |
26 | const app = createApp(App); | 21 | const app = createApp(App); |
27 | 22 |