参考Super Tiny Compiler,写个模板的编译器来玩玩
实现的功能都好简单.
- 模板内的变量替换 {{name}}
- 模板内的嵌套的属性 {{address.city.name}}
然后, If 呢? for 呢? repeat呢 ?
抱歉,这都没有.
起因很简单,之前写过一个小项目.
所有的后端的错误代码和错误信息,全都写在一个平台上面,然后一键打包输出成各种语言,比如Typescript/Javascript/Golang/Json。
这样就可以做到,后端抛出的错误,全都是翻译好的(取决于你客户端的语言),前端只需要显示出错误信息就行了
比如输出的错误像这样,贼好用
需求很简单,错误信息里面会带有变量 User {{username}} not exist
恰逢在学习抽象语法树中,练练手,杀鸡用牛刀也没什么不好