typescript-estree
是一个将 TypeScript 代码解析为 ESTree 抽象语法树的工具包。它是在 @typescript-eslint/parser
中使用的底层依赖项之一,也可以与其他 AST 处理器一起使用。
安装
你可以通过 npm 安装 typescript-estree
--- ------- -----------------
或者使用 yarn
---- --- -----------------
使用方法
基本用法
----- ------ - ----------------------------- ----- ---- - ------ -- ------ - ------ --------- ----- --- - ------------------- -----------------
输出结果如下:
- ------- ---------- ------------- --------- ------- - - ------- ---------------------- --------------- - - ------- --------------------- ----- - ------- ------------- ------- --- -- ------- - ------- ---------- -------- ------ ------- ------ -------- -------- - - -- ------- ------- - - -
配置选项
typescript-estree
提供了许多配置选项,以帮助更好地解析 TypeScript 代码。下面列出几个常用的选项。
jsx
默认情况下,typescript-estree
将不解析 JSX。要启用 JSX 解析,请将 jsx
选项设置为 "preserve"
或 "react"
。
----- ------ - ----------------------------- ----- ---- - - ----- ------- - ---------- ------------ -- ----- --- - ------------------ - ---- ---------- --- -----------------
输出结果如下:
- ------- ---------- ------------- --------- ------- - - ------- ---------------------- --------------- - - ------- --------------------- ----- - ------- ------------- ------- --------- -- ------- - ------- ------------- ----------------- - ------- -------------------- ------- - ------- ---------------- ------- ----- -- -------------- ------ ------------- -- -- ----------------- - ------- -------------------- ------- - ------- ---------------- ------- ----- - -- ----------- - - ------- ---------- -------- ------ ------- ------ ------ ------ - - - - -- ------- ------- - - -
useJSXTextNode
默认情况下,typescript-estree
不会生成 JSX 文本节点。要启用文本节点,请将 useJSXTextNode
选项设置为 true
。
----- ------ - ----------------------------- ----- ---- - - ----- ------- - ---------- ------------ -- ----- --- - ------------------ - ---- ----------- --------------- ---- --- -----------------
输出结果如下:
- ------- ---------- ------------- --------- ------- - - ------- ---------------------- --------------- - - ------- --------------------- ----- - ------- ------------- ------- --------- -- ------- - ------- ------------- ----------------- - ------- -------------------- ------- - ------- ---------------- ------- ----- -- -------------- ------ ------------- -- -- ----------------- - ------- -------------------- ------- - ------- ---------------- ------- ----- - ----------------------------------------------------------- ---------- ---------------------------------------------------------------------------------------