admin管理员组文章数量:1277910
I'm getting the following error:
var userModel = require("./models/user.model.js")();
^
TypeError: require(...) is not a function
at module.exports
at Object.<anonymous>
at Module._pile (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)
when I try to require
2 files, using the following code:
module.exports = function (app) {
"use strict";
var userModel = require("./models/user.model.js")();
var formModel = require("./models/form.model.js")();
require("./services/user.service.server.js")(app, userModel);
require("./services/form.service.server.js")(app, formModel);
require("./services/field.service.server.js")(app, formModel);
};
I'm new to this and I can't understand the problem. Can someone please explain it to me and help me find a solution?
EDIT: Adding 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);
}
}();
I'm getting the following error:
var userModel = require("./models/user.model.js")();
^
TypeError: require(...) is not a function
at module.exports
at Object.<anonymous>
at Module._pile (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)
when I try to require
2 files, using the following code:
module.exports = function (app) {
"use strict";
var userModel = require("./models/user.model.js")();
var formModel = require("./models/form.model.js")();
require("./services/user.service.server.js")(app, userModel);
require("./services/form.service.server.js")(app, formModel);
require("./services/field.service.server.js")(app, formModel);
};
I'm new to this and I can't understand the problem. Can someone please explain it to me and help me find a solution?
EDIT: Adding 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);
}
}();
Share
Improve this question
edited Mar 19, 2016 at 21:16
anonn023432
asked Mar 19, 2016 at 21:11
anonn023432anonn023432
3,1206 gold badges39 silver badges65 bronze badges
4
-
The problem is in
"./services/user.service.server.js"
- what does that code look like? – Pointy Commented Mar 19, 2016 at 21:13 - @Pointy I edited my question to add that file – anonn023432 Commented Mar 19, 2016 at 21:17
-
2
Isn't the error in
var userModel = require("./models/user.model.js")();
? Have you tried removing the parentheses? Sovar userModel = require("./models/user.model.js");
and then same for the next line – T. Silver Commented Mar 19, 2016 at 21:19 -
2
The last line of
user.service.server.js
is}()
. That means that themodule.export
line in that file is exporting the return value from the function, and not the function itself. Get rid of the()
. – Pointy Commented Mar 19, 2016 at 21:20
1 Answer
Reset to default 7This is because you added ()
at the end of require
. Remove them.
本文标签: javascriptTypeError require() is not a functionStack Overflow
版权声明:本文标题:javascript - TypeError: require(...) is not a function - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741244742a2364658.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论