mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-23 23:39:47 +08:00
build(deps): 添加多种插件:element-plus、iconify、windicss
This commit is contained in:
5
build/alias/index.ts
Normal file
5
build/alias/index.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import path from 'path';
|
||||
|
||||
export default {
|
||||
'@': path.resolve(__dirname, '/src')
|
||||
};
|
5
build/env/index.ts
vendored
Normal file
5
build/env/index.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import dotenv from 'dotenv';
|
||||
|
||||
const { parsed: viteEnv } = dotenv.config(); // 加载环境
|
||||
|
||||
export default viteEnv;
|
10
build/index.ts
Normal file
10
build/index.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import alias from './alias';
|
||||
import viteEnv from './env';
|
||||
import plugins from './plugins';
|
||||
|
||||
|
||||
export {
|
||||
alias,
|
||||
viteEnv,
|
||||
plugins
|
||||
}
|
12
build/plugins/html.ts
Normal file
12
build/plugins/html.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { minifyHtml, injectHtml } from 'vite-plugin-html'; // html插件(使用变量、压缩)
|
||||
import viteEnv from '../env';
|
||||
|
||||
export default [
|
||||
minifyHtml(),
|
||||
injectHtml({
|
||||
injectData: {
|
||||
title: viteEnv.VITE_APP_TITLE,
|
||||
appName: viteEnv.VITE_APP_TITLE_Label
|
||||
}
|
||||
})
|
||||
];
|
16
build/plugins/iconify.ts
Normal file
16
build/plugins/iconify.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import ViteIcons, { ViteIconsResolver } from 'vite-plugin-icons'; // iconify图标
|
||||
import Components from 'vite-plugin-components'; // 从指定目录自动导入组件
|
||||
|
||||
export default [
|
||||
Components({
|
||||
customComponentResolvers: ViteIconsResolver({ componentPrefix: 'icon' }) // 组件名前缀
|
||||
}),
|
||||
ViteIcons()
|
||||
];
|
||||
|
||||
/**
|
||||
* iconify用法(安装对应的vscode智能提示的插件: Iconify IntelliSense)
|
||||
* 找图标:网址 https://icones.js.org/ 或者 vscode安装 icones插件
|
||||
* 确定图标名字:找到图标后复制名字 如:mdi:ab-testing 组件为: <icon-mdi-ab-testing />
|
||||
* 样式:同html标签一样直接应用style属性或者class属性; 通过设置color和font-size属性设置对应的颜色和大小
|
||||
*/
|
8
build/plugins/index.ts
Normal file
8
build/plugins/index.ts
Normal file
@ -0,0 +1,8 @@
|
||||
import WindiCSS from 'vite-plugin-windicss';
|
||||
import html from './html';
|
||||
import iconify from './iconify';
|
||||
import styleImport from './style-import';
|
||||
|
||||
const plugins = [...html, ...iconify, ...styleImport, WindiCSS()];
|
||||
|
||||
export default plugins;
|
20
build/plugins/style-import.ts
Normal file
20
build/plugins/style-import.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import styleImport from 'vite-plugin-style-import'; // 按需加载UI框架的组件样式
|
||||
|
||||
export default [
|
||||
styleImport({
|
||||
libs: [
|
||||
{
|
||||
libraryName: 'element-plus',
|
||||
esModule: true,
|
||||
ensureStyleFile: true,
|
||||
resolveStyle: name => {
|
||||
name = name.slice(3);
|
||||
return `element-plus/packages/theme-chalk/src/${name}.scss`;
|
||||
},
|
||||
resolveComponent: name => {
|
||||
return `element-plus/lib/${name}`;
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
];
|
Reference in New Issue
Block a user