template-compile

现在经常能看到“模板编译”、“模板引擎”的字眼。对这些概念并没有进行过深入的了解,基本处于貌似知道是什么,但又说不出来是什么的状态。带着一堆的疑惑,去看了几篇文章,也算是搞懂了一部分。 模板(Template)和模板编译 什么是模板呢?folderc 上面的解释是 “一个包含了各种参数,并能够由模版处理系统通过识别某些特定语法来替换这些参数的文档。” 一个最基本的模板 My name is {{ name }}, I am {{ age }} years old. 上面所示的模板,它就包括了 name、age 参数,它将由模板处理系统通过识别某些特定的语法,用数据将 name、age 参数替换掉。 比如将模板中的 name、age 使用下面的数据对象给替换掉 const data = { name: 'jack', age: 20 } 期待的结果应该是 My name is jack, I am 20 years old. 这个从模板到上面结果的之间的过程就称之为模板编译 我们将用正则替换来简单实现下这个过程 const template = (tpl, data) => { let ret = tpl for (let item in data) { if (data.hasOwnProperty(item)) { const reg = new RegExp('{{' + item + '}}', 'g') ret = ret....

October 12, 2017 · 1 min · vdorchan