将原先放在prototype上的_cache属性改到this上面，防止多个实例的数据混在一起，例如要build两个目录的话，第二个目录的编译结果会包含第一个目录的结果