当前位置: 首页 > news >正文

汉中免费做网站公司/如何将网站的关键词排名优化

汉中免费做网站公司,如何将网站的关键词排名优化,仿互动吧网站源码,美国哪个网站做diy电脑背景 ApiHug UI 解决方案 - ApiHug前后端语义化设计,节约80%以上时间https://apihug.github.io/zhCN-docs/ui 现代前端框架日趋SPA(Single Page Application)化,给前后协同都带来了挑战,ApiHug试图减少多人在前后协同带来的理解难度&#x…


背景

ApiHug UI 解决方案 - ApiHug前后端语义化设计,节约80%以上时间https://apihug.github.io/zhCN-docs/ui

现代前端框架日趋SPA(Single Page Application)化,给前后协同都带来了挑战,ApiHug试图减少多人在前后协同带来的理解难度,和同步的滞后性。 所以采用了:

  1. 前后项目在同工程中不同子模块
  2. 工具链上融合, gradle + vite, 无缝集成,互相可以调用任务
  3. 运行时,java application 静态代理 + vue 端 proxy

以实现前后端人员协同最大化,上下文切换最低化,开发效率最大化!

这中新开发方式不是 ApiHug 首创,很早如Jhipster 已在尝试,当然 ApiHug 也从 Jhipster上获取了很多灵感;

ApiHug 紧紧围绕 Open Api 标准,使用DSL作为不同角色之间通用语言,让这一步推进异常的顺利!

下面我们从协议层, 到应用层, 再到UI 层一一带你一步步领略如何借助 ApiHug 快速而又优雅进行全栈开发!

协议

协议,也就是 ProtoBuffer DSL, 这次没有任何修改,依然是以前的 Proto DSL

前端完整模版尚未正式发布,还在内侧中。

​Structure

├─assets (1)
│  ├─styles
│  │  └─transition
│  └─svg-icon
├─components (2)
│  ├─dashboard
│  └─ui
│      ├─accordion
│      ├─alert
├─composables (3)
├─config  (4)
├─directive (5)
├─layouts (6)
│  └─admin
├─lib (7)
├─locales  (8)
│  └─langs
│      ├─en-US
│      └─zh-CN
├─pages (9)
│  ├─dashboard
│  └─example
├─router (10)
│  └─auto
├─service (11)
│  ├─api
│  ├─form
│  ├─model
│  └─table
├─stores (12)
├─types  (13)
└─utils (14)
DirectoryContent
(1)CSS 风格
(2)组件库
(3)Hook
(4)配置
(5)指令扩展
(6)布局
(7)三方类
(8)国际化
(9)页面
(10)路由
(11)服务
(12)状态
(13)d.ts定义
(14)帮助类

​功能

​Vite

  1. Auto-import
  2. Auto-component
  3. Icon

​Component

​Layout

​Router

​Authority

​Style

  1. Theme
  2. Color
  3. Tailwindcss

​Catalog

​Plugin

​packages

​Trivial

  1. lint
  2. prettier
  3. vscode
  4. format/antfu

​Tip

  1. 生成文件可以在文件备注 // hope-no-merger 禁止生成覆盖,⚠️无法升级更新

配置

角色定义:

  1. proto 定义标准
  2. app 定义应用
  3. ui 定义交互

源泉均来自 proto生成的协议,然后具由此生成应用基础,应用再链接 ui; 所以一般流程:

  1. 编译 proto 生成协议
  2. 通过协议 stub 生成 应用
  3. 生成应用过程中选择是否生成 ui

UI 的生成规则,需要配置给 app, app触发UI生成;

打开 vue 生成标志, {app}/build.gradle:

hopeStub {enableFrontVue = true
}

{app}/ui.json:

{"projectDir": "../good-app-ui"
}
PropertyComment
projectDirUI 模块相对路径
httpVendor@/service/http, useGet/Post Module
noMergerfalse 预留,未用
outputDirsrc/service, API输出UI模块内相对目录
alwaysEraseOldfalse 预留,未用
formTypeRequestItem form 类型
formModule../type form 类型引用路径
columnTypeResponseItem column 类型
columnModule../type column 类型引用路径
pathToUrlimport { pathToUrl } from '@/service/utils' path 路径解析帮助函数
langDirsrc/locales/langs 国际化输出UI模块内相对目录
firstLanguagezh-CN 国际化,第一语言
secondLanguageen-US 国际化,第二语言
typessrc/types 类型输出UI模块相对目录

​编译

普通执行 stub 命令即可生成 UI 内容:

./gradlew.bat {app}:clean stub build -x test -x stubTest

  1. 国际化
  2. Api Stub
  3. Api Model
  4. form/table Stub
  5. type
  6. 其他
├─assets
│....
├─locales
│  │  
│  └─langs
│      ├─en-US
│      │      app.json
│      │
│      └─zh-CN
│              app.json
├─service
│  │  http.ts
│  │  index.ts
│  │  type.ts
│  │  utils.ts
│  │
│  ├─api
│  │      api-example-api.ts
│  │      api-system-system.ts
│  │      index.ts
│  │
│  ├─form
│  │      TemplateExampleRequest.ts
│  │      UploadBookCoverToLocalRequest.ts
│  │
│  ├─model
│  │      api-example-request-example.ts
│  │      api-example-response-example.ts
│  │      index.ts
│  │
│  └─table
│          TemplateExampleResponse.ts
├─types
│      api.d.ts
│      app.d.ts
│      auth.d.ts

​运行

由于现代的框架都是SPA(Single Page Application)架构,给前后协同都带来了挑战,ApiHug试图减少多人在前后协同带来的理解难度,和同步的滞后性。 所以采用了:

  1. 前后项目在同工程中不同子模块
  2. 工具链上融合, gradle + vite, 无缝集成,互相可以调用任务
  3. 运行时,java application 静态代理 + vue 端 proxy

以实现前后端人员协同最大化,上下文切换最低化,开发效率最大化!

​App Build Hook

打包资源依赖 UI 项目打包,同时copy UI 资源 dist 到运行时静态文件目录:

    //Really Static resource of the UI to Output Dirtasks.register('copyUIResources', Copy) {dependsOn project(':good-app-ui').tasks.named('build')from project(':good-app-ui').layout.projectDirectory.dir('dist')into "${layout.buildDirectory.get()}/resources/main/static"}tasks.named('processResources') {dependsOn 'copyUIResources'}

​SPA Filter

打开 hope.open.api.enable 标志; 将 api 之外目录反向到 index.html 入口:

SpaPathChecker DEFAULT =path ->!path.startsWith("/api")&& !path.startsWith("/management")&& !path.startsWith("/v3/api-docs")&& !path.startsWith("/hope/meta")&& !path.startsWith("/h2-console")&& !path.contains(".")&& path.matches("/(.*)");if (checker.passToSpa(path)) {request.getRequestDispatcher("/index.html").forward(request, response);return;
}

然后就可以尽情享受和前端一样丝滑的便捷和体验!

​Refer

  1. Jhipster
  2. jmix
  3. vaadin
http://www.whsansanxincailiao.cn/news/30288036.html

相关文章:

  • 杭州公司注册地址/关键词优化案例
  • 长沙有哪些做的好一点的网站/浙江网站推广运营
  • 响应式网站发展/谷歌官网首页
  • 余姚做轴承网站/设计网站接单
  • h5怎么制作进入下一页/青岛百度快速排名优化
  • 建设厅网站更改登陆密码/优化seo招聘
  • 网站建设及维护费算业务宣传费/免费网站注册com
  • 网站建设与规划实训总结/seo网络推广案例
  • 广州天河 网站建设/单页网站模板
  • 自己怎么免费做网站/免费网站服务器
  • 聊城网站建设企业/网络广告营销方案
  • 商丘手机网站制作/央视新闻最新消息今天
  • 个人博客网站模板源码/广东网站se0优化公司
  • 在线网站推广工具/seo关键词排名优化软件
  • 个人做网站用哪个主机好/长沙网站优化方案
  • 建设食品网站/百度 个人中心首页
  • 潍坊搜易网站建设/重庆网络推广专员
  • ps做网站的优点/什么叫优化关键词
  • 太原在线网站建设/互联网推广公司靠谱吗
  • 伍佰亿官方网站/sem扫描电子显微镜
  • 男女之间做下面哪个网站免费/百度推广手机app下载
  • 联通企业网站建设/外链网站推荐几个
  • wordpress搬家后台还是老网站/交换链接营销实现方式解读
  • 外贸网站seo怎么做/网络销售是做什么的
  • 宝山区网站建设/电工培训课程
  • 网站开发工程师绩效/腾讯企点
  • wap网站平台/网络推广优化招聘
  • 网站推广的优势/外贸国际网站推广
  • 江苏省义务教育标准化建设网站/市场调研方案
  • wordpress怎么开发主题/西安seo排名