美文网首页Nodejs全栈之巅
NodeJs批量require文件夹中的所有文件

NodeJs批量require文件夹中的所有文件

作者: 全栈之巅Johnny | 来源:发表于2018-05-24 22:42 被阅读2次

    欢迎访问我的个人博客 - 全栈之巅

    Q: 如何一次性引入 /app/controllers 文件夹下的所有控制器文件,存入一个 controllers 变量中?

    cnpm i require-all
    

    然后在入口文件中调用即可:

    const controllers = require('require-all')({
      dirname: __dirname + '/controllers',
    })
    
    console.log(controllers.user)
    
    

    这样就能一次性引用所有文件了。

    该模块还提供了一些额外参数:

    const controllers = require('require-all')({
      dirname     :  __dirname + '/controllers',
      filter      :  /(.+Controller)\.js$/,
      resolve     : function (Controller) {
        return new Controller();
      }
    });
    

    这样可以实现两个功能:

    • 只引用名为 *Controller.js 的文件。
    • 引用进来的文件先用 new 实例化再存入 controller 变量。

    这适用于定义为类的控制器文件,如:

    module.exports = class UserController {
        async index() {
            return []
        }
    }
    

    相关文章

      网友评论

        本文标题:NodeJs批量require文件夹中的所有文件

        本文链接:https://www.haomeiwen.com/subject/rnuejftx.html