在JavaScript中将Emmet字符串解析为AST

时间:2018-04-29 23:29:44

标签: javascript emmet

我想使用Emmet或类似的东西将字符串缩写扩展为我可以在其余JavaScript项目中使用的已解析树。

它看起来不像Emmet被设计为NPM模块,我找不到任何关于如何在JavaScript项目中使用它的文档。

我正在寻找相当于:

的东西

emmet.parse('#main')输出相当于{ type: 'div', attributes: { id: 'main' } }的内容。

我对HTML字符串输出不感兴趣,我需要直接在我自己的项目中使用解析树。

我真的很惊讶这样的事情不存在。我错过了什么吗?我如何只使用Emmet的解析器部分作为库?

我在import之后尝试了requirenpm install emmet,但它似乎并非设计为模块而且无法加载。

1 个答案:

答案 0 :(得分:0)

我花了一段时间才找到它,但最终找到了@emmetio/expand-abbreviation。看起来它符合我的需要。

import { expand, parse } from '@emmetio/expand-abbreviation'
const ast = parse('#main>ul>li*3')