参考Super Tiny Compiler,写个模板的编译器来玩玩
发布于 8 年前 作者 axetroy 3820 次预览 最后一次回复是 8 年前 来自 分享
实现的功能都好简单.
- 模板内的变量替换 {{name}}
- 模板内的嵌套的属性 {{address.city.name}}
然后, If 呢? for 呢? repeat呢 ?
抱歉,这都没有.
起因很简单,之前写过一个小项目.
所有的后端的错误代码和错误信息,全都写在一个平台上面,然后一键打包输出成各种语言,比如Typescript/Javascript/Golang/Json。
这样就可以做到,后端抛出的错误,全都是翻译好的(取决于你客户端的语言),前端只需要显示出错误信息就行了
比如输出的错误像这样,贼好用
需求很简单,错误信息里面会带有变量 User {{username}} not exist
恰逢在学习抽象语法树中,练练手,杀鸡用牛刀也没什么不好
2 回复
厉害~~ 轮子妈~~~ 高产啊~~~~
@soda-wy 算不上轮子吧,功能太简单,就为了学习才这么写的。 要真要实现这么个简单的功能,字符串替换就可以了,简单粗暴