我将使用什么来查找NodeJS文件所需的资源?
例如,如果我有一个名为" file.js"的文件。包含这个:
import x from './x';
const y = require('./y');
// Some more code
如何解析该文件并提取' ./ x'和' ./ y'?
你为什么要这样做?
我正在玩建筑工具的想法。为此,我想知道目标源代码所需的文件。
我知道Webpack在创建bundle时会遵循这些信息,因此它可以在一个连接的(良好的,缩小的)文件中以适当的顺序堆叠所需的文件。
我不需要进行连接,但我想查找将使用哪些文件。
当我发现哪些文件被哪些文件使用时,我计划帮助用户以有序的方式组织它们(例如通过指出循环依赖性)。
答案 0 :(得分:1)
对于琐碎的情况,您可以尝试将源提供给某些JS parser并搜索AST以获取对require()
的调用;只要使用字符串常量作为参数调用require()
,就不应该很难确定依赖关系。但是,更复杂的情况可能会导致问题。