build(projects): add vite plugin @soybeanjs/router-page

This commit is contained in:
Soybean
2022-11-07 18:47:44 +08:00
parent 288d586dbc
commit 40c1e13b50
6 changed files with 41 additions and 1 deletions

View File

@ -9,13 +9,24 @@ import unplugin from './unplugin';
import mock from './mock';
import visualizer from './visualizer';
import compress from './compress';
import soybeanjs from './soybeanjs';
/**
* vite插件
* @param viteEnv - 环境变量配置
*/
export function setupVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | PluginOption[])[] {
const plugins = [vue(), vueJsx(), VitePWA(), html(viteEnv), ...unplugin(viteEnv), unocss(), mock, progress()];
const plugins = [
vue(),
vueJsx(),
VitePWA(),
html(viteEnv),
...unplugin(viteEnv),
unocss(),
mock,
progress(),
soybeanjs()
];
if (viteEnv.VITE_VISUALIZER === 'Y') {
plugins.push(visualizer as PluginOption);

View File

@ -0,0 +1,18 @@
import routerPage from '@soybeanjs/router-page';
export default function createSoybeanjsPlugin() {
return routerPage({
pagesFormatter: names => {
/** 系统的内置路由该文件夹名称不作为RouteKey */
const SYSTEM_VIEW = 'system-view';
const result = names
.filter(name => name !== SYSTEM_VIEW)
.map(name => {
return name.replace(`${SYSTEM_VIEW}_`, '');
});
return result;
}
});
}