您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页NodeJs批量require文件夹中的所有文件

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

来源:伴沃教育

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 []
    }
}

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务