前端 JS ,后端 Java ,使用共享的常量的最佳操作是什么
如果手动同步的话,例如 Java 里面新加了一个常量字符串,然后手动往 JS 代码里面加一个,感觉很麻烦,违反了 DRY 原则。以后在 Java 端改了这个常量,就得去 JS 端改。如果忘了改,就容易出 BUG

Swagger (OpenAPI) 满足你的需求吗?在 Java 后端通过编写注释自动生成 Swagger.json ,前端通过 swagger-typescript-api 生成 type-safe 的 http client github.com/acacode/swagger-typescript-api

可以考虑卷一个通用配置平台前端经常改的文案也可以用,让产品自己去改

弄个 /api/constants?locale=en_US 前端 onInit 的时候加载到 sessionStorage

大厂都有配置中心这种东西,中小企业也可以学习一下

极简办法是用 json 写常量文件,然后写个小脚本生成 java 常量源码文件

丢到 redis, 前后端都能访问

配置中心,前后端都可以拉取

有一种事件是通过 idl ,不过前提是前后端通过 idl 来定义协议

楼上的各位应该是理解出问题了, 是要常量, 而不是要共享配置.比如新加一个 MAX_SIZE=1000, 多端共享, 配置中心是能共享 1000, 那 MAX_SIZE 不还得写吗你这个无非就是用一种 DSL 生成就好了, 说起 DSL 就不得不说 阿里云 OpenAPI SDK 你可以去看看

方法 1. 在服务端发布版本时,把所有常量与服务端的版本号一起发布,通过接口提供给前端使用。方法 2. 在编译打包前端代码时,就直接打包进前端代码。

楼上应该是理解出问题了, 是要共享配置,而不是光要常量,lz 都说了要改配置同步,要不然出 bug 了

提供接口:/GetShareVarSetting 给前后端调用,通过配置中心或管理后台修改。

前端,后端编译的时候,去配置中心拉取配置文件。

protobuf enum

都用 ts 然后 monorepo

当然是配置中心

共同编辑个 json 文件呗

数据字典...

这不就是几乎每个系统都会有的字典/配置表吗?

不考虑安全的情况下,我想到简单的方式是写到 cookie 里。