自己写了一个 requireDir 模块
发布于 4 年前 作者 yinzSE 3063 次浏览 来自 分享

最近再看 koa@2 对是再看. 断断续续 一会 rails 看看 一会 golang 看看 又一会 webGL 看看的 自己准备写个 koa + pug + sequelize + postgresSQL 的 demo 参考的是 桑大的 express-g-demo 目录结构 用了 桑大的 mount-koa-routes 加载路由 写到 controller 的时候 也想 require 一个目录, 所以动写了一个 require-dir 自己感觉实现得很丑 用 try catch 来逻辑控制 是不是很 low… 里面还一个 iAmIndex 参数 也是把我自己看醉了 写前端代码 react 什么的觉得自己 js 还过得去了, 一写 node 真实捉鸡呀. 用了 babel 是为了试试 async/await, 但是没用 es6 的 import 想着到时候 nodeSDK 支持 async/await 的时候可以直接去掉 babel

目前遇到的问题就是 地址 参数不支持 requireDir('./') 只能写成 requireDir('./') 除非在方法里调用可以使用 例如

(function() {
  requireDir('./')
})()
1 回复
foo
  |- foo-a.js 
  |- foo-b.js 
  `- bar 
      |- index.js
      |- bar-a.js
      `- bar-b.js
const path = require('path')
const requireDir = require('uinz-require-dir')
const result = requireDir(path.join(__dirname, 'foo'))

// result = {
//     fooA: require('./foo/foo-a.js'),   
//     fooB: require('./foo/foo-b.js'),
//     bar: require('./bar/index.js') // due to bar has index.js
// }
回到顶部