index.ts 集合文件 写法

501 阅读1分钟

目的:
减少多人协作时的新增减少文件,导致的conflicts

注意:
es module只支持静态分析,无法动态导出单个,所以需要导出default module
引用时就链式就可以了

方法:

// 集合写法;
const newRequire: any = require;

const requireApi = newRequire.context('.', false, /.ts$/);

const Services: any = {};

requireApi.keys().forEach((key: any) => {
  if (key === './index.ts') return;

  const serviceName = key.replace(/(.*\/)*([^.]+).*/gi, '$2');
  const Service = requireApi(key);

  Services[serviceName] = Service;
});

export default Services;