ecomfe / etpl

ETPL是一个强复用、灵活、高性能的JavaScript模板引擎,适用于浏览器端或Node环境中视图的生成。
http://ecomfe.github.io/etpl/
BSD 3-Clause "New" or "Revised" License
496 stars 96 forks source link

让模板管理更接近原生模块化 #69

Open otakustay opened 8 years ago

otakustay commented 8 years ago

我们希望能像标准的模块一样去管理我们的模板,像这样:

import {userList, userForm} from 'tpl!user.tpl.html';

let html = userList(data);
xxx.innerHTML = html;

对于每个模板文件,其中的每个target都是一个导出,未命名的target作为默认导出

在此基础上,我们还可以在后期引入tree shaking技术来自动移除未用到的target

为此,我们需要做一些工作,可能会有:

  1. 编译时返回一个Object,是{targetName: render}的集合,这其实就是导出的内容
  2. 增强tpl插件,在AMD环境下给出exports(来自上一步),SystemJS环境下待研究
  3. 去开发一些相对应的Processor
errorrik commented 8 years ago

i like that

import {userList} from './user.tpl'