【发布时间】:2020-04-11 04:53:51
【问题描述】:
我正在创建一个 npm 库,我需要在其中读取从命令行调用我的库函数的文件夹的文件,然后对这些文件进行操作。
操作是指检查变量是否存在,函数是否存在,修改变量,函数等。
文件将是 Typescript 文件。
任何关于如何进行的帮助都会很棒。
【问题讨论】:
标签: node.js typescript npm
我正在创建一个 npm 库,我需要在其中读取从命令行调用我的库函数的文件夹的文件,然后对这些文件进行操作。
操作是指检查变量是否存在,函数是否存在,修改变量,函数等。
文件将是 Typescript 文件。
任何关于如何进行的帮助都会很棒。
【问题讨论】:
标签: node.js typescript npm
似乎您需要某种AST 解析器,例如Esprima 或babel-parser。这些工具可以解析JS/TS文件的内容,构建抽象语法树,可以遍历、修改、转换回源代码。
Babel 工具集中有很多有用的工具可以简化这些操作。例如,babel-traverse 简化了对目标语句或表达式的搜索,babel-types 有助于匹配 AST 节点的类型,babel-generator 从 AST 生成源代码。
【讨论】:
如果不运行文件,将很难获得这些答案。
所以最好的方法可能是像往常一样导入文件,看看运行这些文件有什么副作用。例如,您可以检查文件是否导出了任何内容。
如果这不能解决您的问题,您将不得不解析文件。最好的方法可能是使用 typescript 编译器本身:
https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API
【讨论】: