require module 模块集合导出 代码

86 阅读1分钟
const newRequire: any = require;

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

const Services: any = {};

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

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

  Services[serviceName] = Service;
});

export default Services;

注:es6 module和commonjs两种模块化的方式,在书写方式和eslint上会有一些差异,具体情况再具体处理。