mirror of
https://github.com/soybeanjs/soybean-admin.git
synced 2025-09-30 23:26:41 +08:00
chore: add comparation
This commit is contained in:
parent
ab08e568e4
commit
a7ade4676d
205
README.md
205
README.md
@ -3,201 +3,18 @@
|
|||||||
<h1>Soybean Admin</h1>
|
<h1>Soybean Admin</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
[](./LICENSE)  
|
This project is forded from [Soybean Admin](https://github.com/honghuangdc/soybean-admin). And we migrate this project from Vite to Farm reusing Vite plugins, after migrate to Farm, this project is 5 times faster than vite in dev and 10 times faster than Vite in prod.
|
||||||
|
|
||||||
## 注意
|
|
||||||
|
|
||||||
Soybean Admin 正在重构,重构后的版本为v1.0,变更点如下:
|
|
||||||
|
|
||||||
- 采用基于 pnpm 的 monorepo 管理项目
|
|
||||||
- 第三方 soybeanjs 的工具库直接抽离到项目中(ElegantRouter除外),不再作为依赖
|
|
||||||
- 采用全新的路由插件 [ElegantRouter](https://github.com/soybeanjs/elegant-router)
|
|
||||||
- 使用基于 [ApiFox](https://apifox.com/) 的远程 mock 代替本地 mock
|
|
||||||
- 基于现有路由插件迁移至新路由插件的指南
|
|
||||||
- 代码实现遵循 SoybeanJS 的代码规范
|
|
||||||
- 项目的 main 分支保留系统核心部分,示例页面和无关核心的插件移至 example 分支
|
|
||||||
- 完整 1.0 版本的文档
|
|
||||||
|
|
||||||
> 1.0版本仍然采用 NaiveUI
|
|
||||||
|
|
||||||
> 同时推出需要商业授权的 AntDesignVue 版本 和 ElementPlus 版本
|
|
||||||
|
|
||||||
全新收费版的 Elegant Admin 会同时进行开发,特性如下:
|
|
||||||
|
|
||||||
- 与UI框架无关的核心架子,基础组件由基于UnoCSS实现的组件提供,可以对接不同的UI框架
|
|
||||||
- 更丰富的主题配置及系统主题定制私有化
|
|
||||||
|
|
||||||
## 简介
|
|
||||||
|
|
||||||
[Soybean Admin](https://github.com/honghuangdc/soybean-admin) 是一个基于 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 的清新优雅的中后台模版,它使用了最新流行的前端技术栈,内置丰富的主题配置,有着极高的代码规范,基于文件的路由系统以及基于 Mock 的动态权限路由,开箱即用的中后台前端解决方案,也可用于学习参考。
|
|
||||||
|
|
||||||
## 特性
|
|
||||||
|
|
||||||
- **最新流行技术栈**:使用 Vue3/Vite 等前端前沿技术开发, 使用高效率的 npm 包管理器 pnpm
|
|
||||||
- **TypeScript**: 应用程序级 JavaScript 的语言
|
|
||||||
- **主题**:丰富可配置的主题、暗黑模式,基于原子 css 框架 - UnoCss 的动态主题颜色
|
|
||||||
- **代码规范**:丰富的规范插件及极高的代码规范
|
|
||||||
- **文件路由系统**:基于文件的路由系统,根据页面文件自动生成路由声明、路由导入和路由模块
|
|
||||||
- **权限路由**:提供前端静态和后端动态两种路由模式,基于 mock 的动态路由能快速实现后端动态路由
|
|
||||||
- **请求函数**:基于 axios 的完善的请求函数封装,提供 Promise 和 hooks 两种请求函数,加入请求结果数据转换的适配器
|
|
||||||
|
|
||||||
## SoybeanJS 工具库
|
|
||||||
|
|
||||||
- [@soybeanjs/cli](https://github.com/soybeanjs/cli): SoybeanJS 命令行工具,包含发布、git 和依赖等相关的实用命令
|
|
||||||
- [@soybeanjs/changelog](https://github.com/soybeanjs/changelog): 根据 git tags 和 commits 生成 changelog [示例](./CHANGELOG.md)
|
|
||||||
- [eslint-config-soybeanjs](https://github.com/soybeanjs/eslint-config): SoybeanJS 的 eslint 预设配置
|
|
||||||
- [@soybeanjs/materials](https://github.com/soybeanjs/materials): SoybeanJS 的物料仓库
|
|
||||||
- [@soybeanjs/vite-plugin-vue-page-route](https://github.com/soybeanjs/vite-plugin-vue-page-route): SoybeanAdmin 的路由插件
|
|
||||||
|
|
||||||
## 基于 SoybeanAdmin 二次开发的项目
|
|
||||||
|
|
||||||
- [electron-mock-admin](https://github.com/lixin59/electron-mock-api): 一个 Mock Api 管理系统,帮助前端开发伙伴快速实现接口的 mock。
|
|
||||||
- [T-Shell](https://github.com/TheBlindM/T-Shell): 是一个可配置命令提示的终端模拟器和 SSH 客户端。
|
|
||||||
|
|
||||||
## 在线预览
|
|
||||||
|
|
||||||
- [Soybean Admin 预览地址](https://admin.soybeanjs.cn/)
|
|
||||||
|
|
||||||
## 文档
|
|
||||||
|
|
||||||
- [项目文档预览地址](https://admin-docs.soybeanjs.cn/)
|
|
||||||
|
|
||||||
## 代码仓库
|
|
||||||
|
|
||||||
| 仓库 | GitHub 地址 | gitee 镜像 | 预览 |
|
|
||||||
| -------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------- |
|
|
||||||
| soybean-admin | [GitHub](https://github.com/honghuangdc/soybean-admin) | [gitee](https://gitee.com/honghuangdc/soybean-admin) | [预览](https://admin.soybeanjs.cn/) |
|
|
||||||
| tauri 版 | [tauri 版](https://github.com/honghuangdc/soybean-admin/tree/tauri) | [tauri 版](https://gitee.com/honghuangdc/soybean-admin/tree/tauri) | |
|
|
||||||
| 精简版 | [精简版](https://github.com/honghuangdc/soybean-admin/tree/thin) | [精简版](https://gitee.com/honghuangdc/soybean-admin/tree/thin) | |
|
|
||||||
| 集成 fast-crud | [集成 fast-crud](https://github.com/honghuangdc/soybean-admin/tree/fast-crud) | [集成 fast-crud](https://gitee.com/honghuangdc/soybean-admin/tree/fast-crud) | [预览](http://fast-crud.docmirror.cn/soybean/#/crud/demo) |
|
|
||||||
|
|
||||||
## 更新日志
|
|
||||||
|
|
||||||
[CHANGELOG](./CHANGELOG.md)
|
|
||||||
|
|
||||||
## 后端服务
|
|
||||||
|
|
||||||
- [soybean-admin-java](https://github.com/honghuangdc/soybean-admin-java)
|
|
||||||
|
|
||||||
## 项目示例图
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<img style="width:380px;margin-right:18px;border:1px solid #dedede;" src="https://s2.loli.net/2023/06/07/A5Nonc9vI6pB1lr.png" />
|
|
||||||
|
|
||||||
<img style="width:380px;border:1px solid #dedede;" src="https://s2.loli.net/2023/06/07/VwBjqEhTke3OxXF.png" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## 安装使用
|
|
||||||
|
|
||||||
- 环境配置
|
|
||||||
**本地环境需要安装 pnpm 7.x 、Node.js 14.18+ 和 Git**
|
|
||||||
|
|
||||||
- 克隆代码
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/honghuangdc/soybean-admin.git
|
npm run dev:farm # start with Farm
|
||||||
|
npm run build:farm # build with Farm
|
||||||
|
|
||||||
|
npm run dev # start with Vite
|
||||||
|
npm run build # build with Vite
|
||||||
```
|
```
|
||||||
|
|
||||||
- 安装依赖
|
Performance Compare:
|
||||||
|
||Cold Start(Server Ready + Page Rendered)|Build|Compare|
|
||||||
```bash
|
|---|---|---|---|---|
|
||||||
pnpm i
|
|Farm| | | 7.6s | |
|
||||||
```
|
|Vite| 9.4s | 25.2s | |
|
||||||
|
|
||||||
- 运行
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm dev
|
|
||||||
```
|
|
||||||
|
|
||||||
- 打包
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pnpm build
|
|
||||||
```
|
|
||||||
|
|
||||||
## Docker 部署
|
|
||||||
|
|
||||||
- Docker 部署 Soybean
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker build -t soybean-admin-image -f docker/Dockerfile .
|
|
||||||
docker run -d -p 80:80 soybean-admin-image
|
|
||||||
```
|
|
||||||
|
|
||||||
- 访问 SoybeanAdmin
|
|
||||||
|
|
||||||
打开本地浏览器访问`http://localhost`
|
|
||||||
|
|
||||||
## 如何贡献
|
|
||||||
|
|
||||||
非常欢迎您的加入 或者提交一个 Pull Request。
|
|
||||||
|
|
||||||
## Git 贡献提交规范
|
|
||||||
|
|
||||||
项目已经内置 Angular 提交规范,直接执行 commit 命令即可生成符合 Angular 提交规范的 commit。
|
|
||||||
|
|
||||||
项目已用 simple-git-hooks 代替了 husky, 旧版本用了 husky,执行 pnpm soy init-simple-git-hooks 进行初始化配置
|
|
||||||
|
|
||||||
## 浏览器支持
|
|
||||||
|
|
||||||
本地开发推荐使用`Chrome 90+` 浏览器
|
|
||||||
|
|
||||||
支持现代浏览器, 不支持 IE
|
|
||||||
|
|
||||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png" alt="IE" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)IE | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)Safari |
|
|
||||||
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
|
||||||
| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
|
|
||||||
|
|
||||||
## 开源作者
|
|
||||||
|
|
||||||
[@Soybean](https://github.com/honghuangdc)
|
|
||||||
|
|
||||||
## 交流
|
|
||||||
|
|
||||||
`Soybean Admin` 是完全开源免费的项目,在帮助开发者更方便地进行中大型管理系统开发,同时也提供微信和 QQ 交流群,使用问题欢迎在群内提问。
|
|
||||||
|
|
||||||
<div style="display:flex;">
|
|
||||||
<div style="padding-right:24px;">
|
|
||||||
<p>QQ交流群</p>
|
|
||||||
<img src="https://i.loli.net/2021/11/24/1J6REWXiHomU2kM.jpg" style="width:200px" />
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<p>添加本人微信,欢迎来技术交流,业务咨询</p>
|
|
||||||
<img src="https://s2.loli.net/2023/06/07/sVyCUFBvzQ9f5b7.jpg" style="width:200px" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## 捐赠
|
|
||||||
|
|
||||||
如果你觉得这个项目对你有帮助,可以请 Soybean 喝杯饮料表示支持,Soybean 开源的动力离不开各位的支持和鼓励。
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
本项目基于[MIT © Soybean-2021](./LICENSE) 协议,仅供参考学习,商用时请保留作者的版权信息,作者不对软件做担保和负责。
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import type { PluginOption } from 'vite';
|
import type { PluginOption } from 'vite';
|
||||||
import vue from '@vitejs/plugin-vue';
|
import vue from '@vitejs/plugin-vue';
|
||||||
import vueJsx from '@vitejs/plugin-vue-jsx';
|
import vueJsx from '@vitejs/plugin-vue-jsx';
|
||||||
// import unocss from '@unocss/vite';
|
import unocss from '@unocss/vite';
|
||||||
// import progress from 'vite-plugin-progress';
|
import progress from 'vite-plugin-progress';
|
||||||
// import VueDevtools from 'vite-plugin-vue-devtools';
|
import VueDevtools from 'vite-plugin-vue-devtools';
|
||||||
import pageRoute from '@soybeanjs/vite-plugin-vue-page-route';
|
import pageRoute from '@soybeanjs/vite-plugin-vue-page-route';
|
||||||
import unplugin from './unplugin';
|
import unplugin from './unplugin';
|
||||||
import mock from './mock';
|
import mock from './mock';
|
||||||
@ -16,6 +16,44 @@ import pwa from './pwa';
|
|||||||
* @param viteEnv - 环境变量配置
|
* @param viteEnv - 环境变量配置
|
||||||
*/
|
*/
|
||||||
export function setupVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | PluginOption[])[] {
|
export function setupVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | PluginOption[])[] {
|
||||||
|
const plugins = [
|
||||||
|
vue({
|
||||||
|
script: {
|
||||||
|
defineModel: true
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
vueJsx(),
|
||||||
|
VueDevtools(),
|
||||||
|
...unplugin(viteEnv),
|
||||||
|
unocss(),
|
||||||
|
mock(viteEnv),
|
||||||
|
progress()
|
||||||
|
];
|
||||||
|
|
||||||
|
if (viteEnv.VITE_VISUALIZER === 'Y') {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
plugins.push(visualizer as PluginOption);
|
||||||
|
}
|
||||||
|
if (viteEnv.VITE_COMPRESS === 'Y') {
|
||||||
|
plugins.push(compress(viteEnv));
|
||||||
|
}
|
||||||
|
if (viteEnv.VITE_PWA === 'Y' || viteEnv.VITE_VERCEL === 'Y') {
|
||||||
|
plugins.push(pwa());
|
||||||
|
}
|
||||||
|
if (viteEnv.VITE_SOYBEAN_ROUTE_PLUGIN === 'Y') {
|
||||||
|
plugins.push(pageRoute());
|
||||||
|
}
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
return plugins;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vite插件
|
||||||
|
* @param viteEnv - 环境变量配置
|
||||||
|
*/
|
||||||
|
export function setupFarmVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | PluginOption[])[] {
|
||||||
const plugins = [
|
const plugins = [
|
||||||
() => ({
|
() => ({
|
||||||
vitePlugin: vue({
|
vitePlugin: vue({
|
||||||
@ -30,7 +68,7 @@ export function setupVitePlugins(viteEnv: ImportMetaEnv): (PluginOption | Plugin
|
|||||||
filters: ['\\.vue$', '\\\\0.+']
|
filters: ['\\.vue$', '\\\\0.+']
|
||||||
}),
|
}),
|
||||||
// VueDevtools(),
|
// VueDevtools(),
|
||||||
...unplugin(viteEnv),
|
...unplugin(viteEnv, true),
|
||||||
// unocss(),
|
// unocss(),
|
||||||
mock(viteEnv)
|
mock(viteEnv)
|
||||||
// progress()
|
// progress()
|
||||||
|
@ -3,10 +3,10 @@ import IconsResolver from 'unplugin-icons/resolver';
|
|||||||
import Components from 'unplugin-vue-components/rollup';
|
import Components from 'unplugin-vue-components/rollup';
|
||||||
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers';
|
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers';
|
||||||
import { FileSystemIconLoader } from 'unplugin-icons/loaders';
|
import { FileSystemIconLoader } from 'unplugin-icons/loaders';
|
||||||
// import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
|
||||||
import { getSrcPath } from '../utils';
|
import { getSrcPath } from '../utils';
|
||||||
|
|
||||||
export default function unplugin(viteEnv: ImportMetaEnv) {
|
export default function unplugin(viteEnv: ImportMetaEnv, isFarm = false) {
|
||||||
const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv;
|
const { VITE_ICON_PREFIX, VITE_ICON_LOCAL_PREFIX } = viteEnv;
|
||||||
|
|
||||||
const srcPath = getSrcPath();
|
const srcPath = getSrcPath();
|
||||||
@ -33,12 +33,14 @@ export default function unplugin(viteEnv: ImportMetaEnv) {
|
|||||||
NaiveUiResolver(),
|
NaiveUiResolver(),
|
||||||
IconsResolver({ customCollections: [collectionName], componentPrefix: VITE_ICON_PREFIX })
|
IconsResolver({ customCollections: [collectionName], componentPrefix: VITE_ICON_PREFIX })
|
||||||
]
|
]
|
||||||
|
}),
|
||||||
|
isFarm
|
||||||
|
? null
|
||||||
|
: createSvgIconsPlugin({
|
||||||
|
iconDirs: [localIconPath],
|
||||||
|
symbolId: `${VITE_ICON_LOCAL_PREFIX}-[dir]-[name]`,
|
||||||
|
inject: 'body-last',
|
||||||
|
customDomId: '__SVG_ICON_LOCAL__'
|
||||||
})
|
})
|
||||||
// createSvgIconsPlugin({
|
].filter(Boolean);
|
||||||
// iconDirs: [localIconPath],
|
|
||||||
// symbolId: `${VITE_ICON_LOCAL_PREFIX}-[dir]-[name]`,
|
|
||||||
// inject: 'body-last',
|
|
||||||
// customDomId: '__SVG_ICON_LOCAL__'
|
|
||||||
// })
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import type { UserConfig } from '@farmfe/core';
|
import type { UserConfig } from '@farmfe/core';
|
||||||
import { loadEnv } from 'vite';
|
import { loadEnv } from 'vite';
|
||||||
// import vue from '@farmfe/js-plugin-vue';
|
|
||||||
import postcss from '@farmfe/js-plugin-postcss';
|
import postcss from '@farmfe/js-plugin-postcss';
|
||||||
import { createViteProxy, getRootPath, getSrcPath, setupVitePlugins, viteDefine } from './build';
|
import { createViteProxy, getRootPath, getSrcPath, setupFarmVitePlugins, viteDefine } from './build';
|
||||||
import { getServiceEnvConfig } from './.env-config';
|
import { getServiceEnvConfig } from './.env-config';
|
||||||
|
|
||||||
function defineConfig(config: UserConfig) {
|
function defineConfig(config: UserConfig) {
|
||||||
@ -30,14 +29,15 @@ export default defineConfig({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
define: viteDefine,
|
define: viteDefine,
|
||||||
sourcemap: true
|
external: ['uno.css', 'virtual:svg-icons-register'],
|
||||||
|
sourcemap: false
|
||||||
},
|
},
|
||||||
vitePlugins: setupVitePlugins(viteEnv) as object[],
|
vitePlugins: setupFarmVitePlugins(viteEnv) as object[],
|
||||||
plugins: [['@farmfe/plugin-sass', { additionalData: `@use "@/styles/scss/global.scss" as *;` }], postcss()],
|
plugins: [['@farmfe/plugin-sass', { additionalData: `@use "@/styles/scss/global.scss" as *;` }], postcss()],
|
||||||
server: {
|
server: {
|
||||||
// host: '0.0.0.0',
|
// host: '0.0.0.0',
|
||||||
port: 3200,
|
port: 3200,
|
||||||
// open: true,
|
open: true,
|
||||||
proxy: createViteProxy(isOpenProxy, envConfig) as any
|
proxy: createViteProxy(isOpenProxy, envConfig) as any
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -39,11 +39,13 @@
|
|||||||
"dev:farm": "cross-env VITE_SERVICE_ENV=dev farm start",
|
"dev:farm": "cross-env VITE_SERVICE_ENV=dev farm start",
|
||||||
"dev:test": "cross-env VITE_SERVICE_ENV=test vite",
|
"dev:test": "cross-env VITE_SERVICE_ENV=test vite",
|
||||||
"dev:prod": "cross-env VITE_SERVICE_ENV=prod vite",
|
"dev:prod": "cross-env VITE_SERVICE_ENV=prod vite",
|
||||||
"build": "npm run typecheck && cross-env VITE_SERVICE_ENV=prod vite build",
|
"build": "cross-env VITE_SERVICE_ENV=prod vite build",
|
||||||
|
"build:farm": "cross-env VITE_SERVICE_ENV=prod farm build",
|
||||||
"build:dev": "npm run typecheck && cross-env VITE_SERVICE_ENV=dev vite build",
|
"build:dev": "npm run typecheck && cross-env VITE_SERVICE_ENV=dev vite build",
|
||||||
"build:test": "npm run typecheck && cross-env VITE_SERVICE_ENV=test vite build",
|
"build:test": "npm run typecheck && cross-env VITE_SERVICE_ENV=test vite build",
|
||||||
"build:vercel": "cross-env VITE_HASH_ROUTE=Y VITE_VERCEL=Y vite build",
|
"build:vercel": "cross-env VITE_HASH_ROUTE=Y VITE_VERCEL=Y vite build",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
|
"preview:farm": "farm preview",
|
||||||
"typecheck": "vue-tsc --noEmit --skipLibCheck",
|
"typecheck": "vue-tsc --noEmit --skipLibCheck",
|
||||||
"lint": "eslint . --fix",
|
"lint": "eslint . --fix",
|
||||||
"format": "soy prettier-write",
|
"format": "soy prettier-write",
|
||||||
@ -88,7 +90,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@amap/amap-jsapi-types": "0.0.13",
|
"@amap/amap-jsapi-types": "0.0.13",
|
||||||
"@farmfe/cli": "^0.5.8",
|
"@farmfe/cli": "^0.5.8",
|
||||||
"@farmfe/core": "^0.13.2",
|
"@farmfe/core": "^0.13.5",
|
||||||
"@farmfe/js-plugin-postcss": "1.0.4",
|
"@farmfe/js-plugin-postcss": "1.0.4",
|
||||||
"@farmfe/js-plugin-vue": "^3.0.0",
|
"@farmfe/js-plugin-vue": "^3.0.0",
|
||||||
"@farmfe/plugin-sass": "^0.2.2",
|
"@farmfe/plugin-sass": "^0.2.2",
|
||||||
|
@ -103,14 +103,14 @@ devDependencies:
|
|||||||
specifier: ^0.5.8
|
specifier: ^0.5.8
|
||||||
version: 0.5.8
|
version: 0.5.8
|
||||||
'@farmfe/core':
|
'@farmfe/core':
|
||||||
specifier: ^0.13.2
|
specifier: ^0.13.5
|
||||||
version: 0.13.2
|
version: 0.13.5
|
||||||
'@farmfe/js-plugin-postcss':
|
'@farmfe/js-plugin-postcss':
|
||||||
specifier: 1.0.4
|
specifier: 1.0.4
|
||||||
version: 1.0.4(@farmfe/core@0.13.2)(postcss@8.4.30)
|
version: 1.0.4(@farmfe/core@0.13.5)(postcss@8.4.30)
|
||||||
'@farmfe/js-plugin-vue':
|
'@farmfe/js-plugin-vue':
|
||||||
specifier: ^3.0.0
|
specifier: ^3.0.0
|
||||||
version: 3.0.0(@farmfe/core@0.13.2)(sass@1.67.0)
|
version: 3.0.0(@farmfe/core@0.13.5)(sass@1.67.0)
|
||||||
'@farmfe/plugin-sass':
|
'@farmfe/plugin-sass':
|
||||||
specifier: ^0.2.2
|
specifier: ^0.2.2
|
||||||
version: 0.2.2
|
version: 0.2.2
|
||||||
@ -1953,8 +1953,8 @@ packages:
|
|||||||
walkdir: 0.4.1
|
walkdir: 0.4.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@farmfe/core-darwin-arm64@0.13.2:
|
/@farmfe/core-darwin-arm64@0.13.5:
|
||||||
resolution: {integrity: sha512-pdGgdNbCJE1/R7tEpoA1h44y+jbuau+Ut2ceFrIk2Khcgj1xpQUiPYozYcTzvqk+Wh9CZPOtxB+szNT97GJ+KA==}
|
resolution: {integrity: sha512-kicTnMMobbWIqZM1qWgy+iWBaQVU4k2yFe324Sn6V7zjA61CJwBU8r51xRlqwxQH91vrQ8w6qGEcF6+2xt/vdw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@ -1962,8 +1962,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@farmfe/core-darwin-x64@0.13.2:
|
/@farmfe/core-darwin-x64@0.13.5:
|
||||||
resolution: {integrity: sha512-k/dL5y5jjB38THWnDji+K/BJAdOUA5S86kHEbSfIeUFsFEy7HRkVxfuK2AF/vS21QL4/HEjF9tXx6AVfw1cgYg==}
|
resolution: {integrity: sha512-3Y7m8v8DM1IwHtWyiWf3ke2uwDoiFCbEO+fkEQdRY1YLEfYhDTvFl3n3tKZtjWOX/dnAixwN7FqXICOCKmtwCg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@ -1971,8 +1971,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@farmfe/core-linux-x64-gnu@0.13.2:
|
/@farmfe/core-linux-x64-gnu@0.13.5:
|
||||||
resolution: {integrity: sha512-lfmxOnBsNsm+ICySv3dIEmFZ1gormpFi2irH4frTDRdFlgKihfodZd14R2v4gV5K+3eKOn6ynRcc3L7vjmlBKg==}
|
resolution: {integrity: sha512-1ACg/Pr/NfO5lpzhB0yKDyRPuZ1UwTxA8U/007PtksKiNMjS5o77DKGL3pLQ+a64Z8DMLCLr42gEf2mu6J7tvQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -1981,8 +1981,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@farmfe/core-win32-x64-msvc@0.13.2:
|
/@farmfe/core-win32-x64-msvc@0.13.5:
|
||||||
resolution: {integrity: sha512-JrFweR8/wsPZdo1wzgollSUokA0OluQq5JBywdb2BpNgKnvyGJ1ydZdYiNB9SzqyiwhqXHaPVfLlIUZIh/aHYg==}
|
resolution: {integrity: sha512-Z7N/L7sTP3H81/BewqjvjelasVIDDtXEwTDNMu6qIbb/pnrmh7f9Wql8N7H3SpPLr8htMbYDGDWj9dab65nTpg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -1990,8 +1990,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@farmfe/core@0.13.2:
|
/@farmfe/core@0.13.5:
|
||||||
resolution: {integrity: sha512-wdfmZt7SE3G9PXhBXRiOymkY4ljeCF0oxZk58+XYv04RpS8TMCuJ4hk9DJnjVMhgToH9NP90yBnHZWqQJqoXXw==}
|
resolution: {integrity: sha512-s1pmwUT8Y41Nl/1yW/SxKoX5RR/FnU80ws242nuXy7zsRH6FQh67DGKVDyftJdkivHoGSSTvHnsxgBHVCH7vFw==}
|
||||||
engines: {node: '>= 16'}
|
engines: {node: '>= 16'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@farmfe/runtime': 0.7.2
|
'@farmfe/runtime': 0.7.2
|
||||||
@ -2020,10 +2020,10 @@ packages:
|
|||||||
zod: 3.22.4
|
zod: 3.22.4
|
||||||
zod-validation-error: 1.5.0(zod@3.22.4)
|
zod-validation-error: 1.5.0(zod@3.22.4)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@farmfe/core-darwin-arm64': 0.13.2
|
'@farmfe/core-darwin-arm64': 0.13.5
|
||||||
'@farmfe/core-darwin-x64': 0.13.2
|
'@farmfe/core-darwin-x64': 0.13.5
|
||||||
'@farmfe/core-linux-x64-gnu': 0.13.2
|
'@farmfe/core-linux-x64-gnu': 0.13.5
|
||||||
'@farmfe/core-win32-x64-msvc': 0.13.2
|
'@farmfe/core-win32-x64-msvc': 0.13.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- bufferutil
|
- bufferutil
|
||||||
- debug
|
- debug
|
||||||
@ -2031,17 +2031,17 @@ packages:
|
|||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@farmfe/js-plugin-postcss@1.0.4(@farmfe/core@0.13.2)(postcss@8.4.30):
|
/@farmfe/js-plugin-postcss@1.0.4(@farmfe/core@0.13.5)(postcss@8.4.30):
|
||||||
resolution: {integrity: sha512-bNCDjeZsp3l0jHPk/xcSQ5fDf2kEWvakuWqu2ed2GE2IJkhboWeY7s2WrZ9AzDmH9p9BdH3W6BXXGt/0kRP+Cg==}
|
resolution: {integrity: sha512-bNCDjeZsp3l0jHPk/xcSQ5fDf2kEWvakuWqu2ed2GE2IJkhboWeY7s2WrZ9AzDmH9p9BdH3W6BXXGt/0kRP+Cg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@farmfe/core': ^0.13.2
|
'@farmfe/core': ^0.13.2
|
||||||
postcss: '>=8.0.0'
|
postcss: '>=8.0.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
'@farmfe/core': 0.13.2
|
'@farmfe/core': 0.13.5
|
||||||
postcss: 8.4.30
|
postcss: 8.4.30
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@farmfe/js-plugin-vue@3.0.0(@farmfe/core@0.13.2)(sass@1.67.0):
|
/@farmfe/js-plugin-vue@3.0.0(@farmfe/core@0.13.5)(sass@1.67.0):
|
||||||
resolution: {integrity: sha512-W+Eou+dQN4n+bZbqG3Dxv8JwGFp3liApY68Jqru3KS/yladqDAOYz6oZlQ7M89HFWPCyrlPY7L48esRwzN5W+A==}
|
resolution: {integrity: sha512-W+Eou+dQN4n+bZbqG3Dxv8JwGFp3liApY68Jqru3KS/yladqDAOYz6oZlQ7M89HFWPCyrlPY7L48esRwzN5W+A==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@farmfe/core': ^0.13.0
|
'@farmfe/core': ^0.13.0
|
||||||
@ -2056,7 +2056,7 @@ packages:
|
|||||||
stylus:
|
stylus:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@farmfe/core': 0.13.2
|
'@farmfe/core': 0.13.5
|
||||||
sass: 1.67.0
|
sass: 1.67.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// import 'uno.css';
|
import 'uno.css';
|
||||||
import '@soybeanjs/vue-materials/dist/style.css';
|
import '@soybeanjs/vue-materials/dist/style.css';
|
||||||
import 'swiper/css';
|
import 'swiper/css';
|
||||||
import 'swiper/css/navigation';
|
import 'swiper/css/navigation';
|
||||||
import 'swiper/css/pagination';
|
import 'swiper/css/pagination';
|
||||||
// import 'virtual:svg-icons-register';
|
import 'virtual:svg-icons-register';
|
||||||
import '../styles/css/global.css';
|
import '../styles/css/global.css';
|
||||||
|
|
||||||
/** import static assets: css, js , font and so on. - [引入静态资源,css、js和字体文件等] */
|
/** import static assets: css, js , font and so on. - [引入静态资源,css、js和字体文件等] */
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { WorkbenchHeader, WorkbenchMain } from './components';
|
import { WorkbenchHeader, WorkbenchMain } from './components';
|
||||||
|
|
||||||
|
console.log('end', Date.now());
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
@ -31,7 +31,7 @@ export default defineConfig(configEnv => {
|
|||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
port: 3200,
|
port: 3200,
|
||||||
open: true,
|
// open: true,
|
||||||
proxy: createViteProxy(isOpenProxy, envConfig)
|
proxy: createViteProxy(isOpenProxy, envConfig)
|
||||||
},
|
},
|
||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
|
Loading…
Reference in New Issue
Block a user