DEV Community · Show DEV9/7 14:3245

构建编译器以消除自定义元素样板代码

I built a compiler so I could stop writing custom element boilerplate

阅读原文
开发者分享了其项目HTMLPlus Element,现已迭代至v4,拥有500多次提交。该项目旨在简化自定义元素的编写过程,通过编译器自动处理样板代码。开发者只需编写类定义,编译器即可生成标签名(如MyCounter转为my-counter)、自动引入同名CSS文件、从TypeScript类型推断属性类型,并生成同步的TypeScript定义。该库提供装饰器如@Element、@State等,支持属性、状态、事件、监听器、公共方法、观察者、Shadow DOM查询、插槽及上下文。输出元素兼容React、Vue、Angular等框架,无需包装包。运行时约8KB gzipped。