node.js - 导出时不是函数

问题描述

我在玩代码的模块化。 对我来说它看起来不错,即使代码编辑器也不会抱怨并看到来自 database.js方法 但是,当我调用它时会抛出 is not a function 错误

database.js

function database() {
    function findAll(schemaType,params) {
        return ...
    }

    return { findAll }
}

module.exports = database;

以及这个模块的使用

model.js

const database = require('../db/database');

class Model {
    constructor() {
        // ..,other logic
        this.findAll = (params) => database.findAll(this.schema,params) //Error pointing to this line
    }
}

我得到的错误是直接指向线

TypeError: database.findAll 不是函数 在 Movie.Model.findAll (/home/mat/Projects/-task-v3/-task-v3/src/models/model.js:12:45) 在/home/mat/Projects/-task-v3/-task-v3/src/routes/findAll.js:21:33 在 Layer.handle [as handle_request] (/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/layer.js:95:5) 接下来(/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/route.js:137:13) 在/home/mat/Projects/-task-v3/-task-v3/src/middlewares/query-validator.js:22:9 在 Layer.handle [as handle_request] (/home/mat/Projects/-task-v3/recuitment-task-v3/node_modules/express/lib/router/layer.js:95:5) 接下来(/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/route.js:137:13) 在 Route.dispatch (/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/route.js:112:3) 在 Layer.handle [as handle_request] (/home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/layer.js:95:5) 在 /home/mat/Projects/-task-v3/-task-v3/node_modules/express/lib/router/index.js:281:22

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)