之前我们写了一个函数,可以返回入口文件依赖的文件、code、文件名字
,但只分析了入口文件,
为了实现所有模块都分析出来
我们可以 使用递归存放依赖分析,--依赖图谱
,
创建一个函数,告诉他入口文件是什么,让他返回分析后的依赖图谱
。
constmakeDependenciesGraph = (entry) => {
const entryModle = moduleAnalyser()
}
创建一个数组,用来存依赖图谱
,即平铺分析好的文件。默认存放分析好的入口文件
constmakeDependenciesGraph = (entry) => {
// 分析好的入口文件
const entryModle = moduleAnalyser()
const list = [entryModle]
}
遍历数组,分析对应的依赖文件。这个函数是核心
constmakeDependenciesGraph = (entry) => {
const entryModle = moduleAnalyser()
const list = [entryModle]
for (let i = 0; i < list.length; i++) {
for (let j in list[i].dependences) {
const item = mouduleAnalyser(list[i].dependences[j])
list.push(item)
}
}
得到依赖关系
为了更方便的分析,更改一下数据结构