魔改了一点 ejs,使得在 `otto` 解释器中运行的更好,通过这种方式,可以方便的达到脚本语言的生产力。
```go
// default
e := otto.NewDefaultOttoEngine()
got, _ := e.Exec("hello, <%= name %>!", map[string]interface{}{"name": "goejs"}, &contract.Option{
Debug: true,
})
fmt.Println(got) // hello, goejs!
// config
e := otto.NewOttoEngine(ejs.NewJsScript(ejs.WithOpenDelimiter("{"), ejs.WithOpenDelimiter("}")))
got, _ := e.Exec("hello, {%= name %}!", map[string]interface{}{"name": "goejs"}, &contract.Option{
Debug: true,
})
fmt.Println(got) // hello, goejs!
```
### 适合场景
- 用作工具输出配置文件
- 后台业务需要灵活配置的场景
有疑问加站长微信联系(非本文作者)