简介
本框架的核心部分只关注代码的解析及提供编译期的构建钩子,插件则是基于构建钩子和解析后的数据决定代码生成规则以及适配什么平台,如何处理平台间的代码兼容。
什么是插件?
插件你可以把他当做一个原生的 JavaScript 对象即可,比较特别的是该插件对象会通过属性和方法暴露出编译时处理接口,本框架则通过插件暴露出来的接口决定如何进行转译处理。
开发一个简单的插件
本框架提供了一个辅助创建插件的 API,通过该 API 可以使用本框架提供的许多工具函数来简化插件的开发难度。
import Ditt from 'ditt';
const WeChatPlugin = Ditt.createPlugin(function (utils) {
return {
processTag(tagName) {
let tag = tagName.toLowerCase();
return tag;
}
}
})
Ditt.addPlugin('wechat', WeChatPlugin);
如上所示,创建了一个名为 wechat
的插件并添加到框架中,这个插件目前只做了一件事情,那就是将目标的标签全部编译为小写格式并输出。