Javascript TypeError:require(…)不是函数

Javascript TypeError:require(…)不是函数,javascript,node.js,module,export,typeerror,Javascript,Node.js,Module,Export,Typeerror,我得到以下错误: var userModel = require("./models/user.model.js")(); ^ TypeError: require(...) is not a function at module.exports at Object.<anonymous> at Module._compile (module.js:435:26) at Objec

我得到以下错误:

var userModel = require("./models/user.model.js")();
                                                 ^

TypeError: require(...) is not a function
at module.exports 
at Object.<anonymous> 
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:136:18)
我是新手,我不理解这个问题。有人能给我解释一下,帮我找到解决办法吗

编辑:添加user.services.server.js:

module.exports = function(app, userModel) {
"use strict";

app.post('/api/assignment/user', createUser);
app.get('/api/assignment/user', findUsers);
app.get('/api/assignment/user/:id', findUserById);
app.put("/api/assignment/user/:userId", updateUserById);
app.delete("/api/assignment/user/:userId", deleteUserById);

function createUser(req, res) {
    var newUser = userModel.createUser(req.body);
    res.json(newUser);
}

function findUsers(req, res) {
    if (req.query.username) {
        if (req.query.password) {
            findUserByCredentials(req, res);
        } else {
            findUserByUsername(req, res);
        }
    } else {
        var users = userModel.findAllUsers();
        res.json(users);
    }
}

function findUserById(req, res) {
    var userId = parseInt(req.params.id);
    var user = userModel.findUserById(userId);
    res.json(user);
}

function findUserByUsername(req, res) {
    var username = req.query.username;
    var user = userModel.findUserByUsername(username);
    res.json(user);
}

function findUserByCredentials(req, res) {
    var credentials = {
        username: req.query.username,
        password: req.query.password
    };
    var user = userModel.findUserByCredentials(credentials);
    res.json(user);
}

function updateUserById(req, res) {
    var userId = parseInt(req.params.id);
    var newUser = userModel.updateUser(userId, req.body);
    res.json(newUser);
}

function deleteUserById(req, res) {
    var userId = parseInt(req.params.id);
    userModel.deleteUser(userId);
    res.send(200);
}

}();

这是因为您在
require
的末尾添加了
()
。移除它们

这是因为您在
require
的末尾添加了
()
。移除它们

问题出在
“/services/user.service.server.js”
-那代码是什么样子的?@Pointy我编辑了我的问题,添加的文件不是
var userModel=require(“/models/user.model.js”)中的错误?你试过去掉括号吗?所以
var userModel=require(“./models/user.model.js”)
和下一行相同
user.service.server.js的最后一行是
}()
。这意味着该文件中的
module.export
行是从函数而不是函数本身导出返回值。摆脱
()
。问题出在
“/services/user.service.server.js”
-那代码是什么样子的?@Pointy我编辑了我的问题,添加的文件不是
var userModel=require(“/models/user.model.js”)中的错误?你试过去掉括号吗?所以
var userModel=require(“./models/user.model.js”)
和下一行相同
user.service.server.js的最后一行是
}()
。这意味着该文件中的
module.export
行是从函数而不是函数本身导出返回值。摆脱
()
module.exports = function(app, userModel) {
"use strict";

app.post('/api/assignment/user', createUser);
app.get('/api/assignment/user', findUsers);
app.get('/api/assignment/user/:id', findUserById);
app.put("/api/assignment/user/:userId", updateUserById);
app.delete("/api/assignment/user/:userId", deleteUserById);

function createUser(req, res) {
    var newUser = userModel.createUser(req.body);
    res.json(newUser);
}

function findUsers(req, res) {
    if (req.query.username) {
        if (req.query.password) {
            findUserByCredentials(req, res);
        } else {
            findUserByUsername(req, res);
        }
    } else {
        var users = userModel.findAllUsers();
        res.json(users);
    }
}

function findUserById(req, res) {
    var userId = parseInt(req.params.id);
    var user = userModel.findUserById(userId);
    res.json(user);
}

function findUserByUsername(req, res) {
    var username = req.query.username;
    var user = userModel.findUserByUsername(username);
    res.json(user);
}

function findUserByCredentials(req, res) {
    var credentials = {
        username: req.query.username,
        password: req.query.password
    };
    var user = userModel.findUserByCredentials(credentials);
    res.json(user);
}

function updateUserById(req, res) {
    var userId = parseInt(req.params.id);
    var newUser = userModel.updateUser(userId, req.body);
    res.json(newUser);
}

function deleteUserById(req, res) {
    var userId = parseInt(req.params.id);
    userModel.deleteUser(userId);
    res.send(200);
}

}();