7 changed files with 1 additions and 132 deletions
@ -1,34 +0,0 @@ |
|||||
// Image resource files used to compress the output of the production environment
|
|
||||
// https://github.com/anncwb/vite-plugin-imagemin
|
|
||||
import viteImagemin from 'vite-plugin-imagemin'; |
|
||||
|
|
||||
export function configImageminPlugin() { |
|
||||
const plugin = viteImagemin({ |
|
||||
gifsicle: { |
|
||||
optimizationLevel: 7, |
|
||||
interlaced: false, |
|
||||
}, |
|
||||
optipng: { |
|
||||
optimizationLevel: 7, |
|
||||
}, |
|
||||
mozjpeg: { |
|
||||
quality: 20, |
|
||||
}, |
|
||||
pngquant: { |
|
||||
quality: [0.8, 0.9], |
|
||||
speed: 4, |
|
||||
}, |
|
||||
svgo: { |
|
||||
plugins: [ |
|
||||
{ |
|
||||
name: 'removeViewBox', |
|
||||
}, |
|
||||
{ |
|
||||
name: 'removeEmptyAttrs', |
|
||||
active: false, |
|
||||
}, |
|
||||
], |
|
||||
}, |
|
||||
}); |
|
||||
return plugin; |
|
||||
} |
|
||||
@ -1,83 +0,0 @@ |
|||||
/** |
|
||||
* Introduces component library styles on demand. |
|
||||
* https://github.com/anncwb/vite-plugin-style-import
|
|
||||
*/ |
|
||||
import { createStyleImportPlugin, VxeTableResolve } from 'vite-plugin-style-import'; |
|
||||
|
|
||||
export function configStyleImportPlugin(_isBuild: boolean) { |
|
||||
if (!_isBuild) { |
|
||||
return []; |
|
||||
} |
|
||||
const styleImportPlugin = createStyleImportPlugin({ |
|
||||
libs: [ |
|
||||
{ |
|
||||
libraryName: 'ant-design-vue', |
|
||||
esModule: true, |
|
||||
resolveStyle: (name) => { |
|
||||
// 这里是无需额外引入样式文件的“子组件”列表
|
|
||||
const ignoreList = [ |
|
||||
'anchor-link', |
|
||||
'sub-menu', |
|
||||
'menu-item', |
|
||||
'menu-divider', |
|
||||
'menu-item-group', |
|
||||
'breadcrumb-item', |
|
||||
'breadcrumb-separator', |
|
||||
'form-item', |
|
||||
'step', |
|
||||
'select-option', |
|
||||
'select-opt-group', |
|
||||
'card-grid', |
|
||||
'card-meta', |
|
||||
'collapse-panel', |
|
||||
'descriptions-item', |
|
||||
'list-item', |
|
||||
'list-item-meta', |
|
||||
'table-column', |
|
||||
'table-column-group', |
|
||||
'tab-pane', |
|
||||
'tab-content', |
|
||||
'timeline-item', |
|
||||
'tree-node', |
|
||||
'skeleton-input', |
|
||||
'skeleton-avatar', |
|
||||
'skeleton-title', |
|
||||
'skeleton-paragraph', |
|
||||
'skeleton-image', |
|
||||
'skeleton-button', |
|
||||
]; |
|
||||
// 这里是需要额外引入样式的子组件列表
|
|
||||
// 单独引入子组件时需引入组件样式,否则会在打包后导致子组件样式丢失
|
|
||||
const replaceList = { |
|
||||
textarea: 'input', |
|
||||
'typography-text': 'typography', |
|
||||
'typography-title': 'typography', |
|
||||
'typography-paragraph': 'typography', |
|
||||
'typography-link': 'typography', |
|
||||
'dropdown-button': 'dropdown', |
|
||||
'input-password': 'input', |
|
||||
'input-search': 'input', |
|
||||
'input-group': 'input', |
|
||||
'radio-group': 'radio', |
|
||||
'checkbox-group': 'checkbox', |
|
||||
'layout-sider': 'layout', |
|
||||
'layout-content': 'layout', |
|
||||
'layout-footer': 'layout', |
|
||||
'layout-header': 'layout', |
|
||||
'month-picker': 'date-picker', |
|
||||
'range-picker': 'date-picker', |
|
||||
'image-preview-group': 'image', |
|
||||
}; |
|
||||
|
|
||||
return ignoreList.includes(name) |
|
||||
? '' |
|
||||
: replaceList.hasOwnProperty(name) |
|
||||
? `ant-design-vue/es/${replaceList[name]}/style/index` |
|
||||
: `ant-design-vue/es/${name}/style/index`; |
|
||||
}, |
|
||||
}, |
|
||||
], |
|
||||
resolves: [VxeTableResolve()], |
|
||||
}); |
|
||||
return styleImportPlugin; |
|
||||
} |
|
||||
Loading…
Reference in new issue