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