traverse方法改为estraverse模块来完成