我在执行rouer.get方法不起作用时遇到问题

时间:2019-07-03 20:42:30

标签: node.js express

var express = require('express');
var router = express.Router();
var usercontrollers = require('../controllers/usercontrollers');


router.get('/register', function (req, res, next) {
  res.render('register', { title: 'Express' });
});

router.get('/login', usercontrollers.getLogInPage);


// router.post('/user/register');

module.exports = router;

const fs = require('fs');

class usercontrollers {

    static getUser() {
        var users = [];
        return new Promise((req, res) => {
            fs.readFile('./data/users.json', function (err, data) {
                if (!err) {
                    users = JSON.parse(data);
                    res(users);
                } else {
                    req(err);
                }
            })
        })
    }

    static getLogInPage(req, res) {
        res.render('users/login', { title: 'login-page', subtitle: "subtitle_login-page" });
    }

    static getRegisterPage(req, res) {
        res.render('users/register', { title: 'register-page', subtitle: "subtitle_register-page" });
    }

    static RegistarUser() {
        var username = req.param("username");
        var password = req.param("password");
        var user = [];
        var UserExsist = false;
        var id, newUser;


        UsersController.getUser()
        // .then() //
        data.filter(function (user) {
            if (user.username == username) {
                UserExsist = true;
            }
            return true;
        })


    }
}

我尝试将输入的功能连接到控制器,但无法接收方法

我尝试了对我不起作用的调试

Here is a picture

Here is a picture Here is a picture

**

错误

**

/ home / itzik / Desktop / express&nodejs /node_modules/express/lib/router/route.js:202         抛出新的错误(msg);         ^

错误:Route.get()需要一个回调函数,但得到了一个[object Undefined]     在Route。(匿名函数)[获取](/ home / itzik / Desktop / express&nodejs /node_modules/express/lib/router/route.js:202:15)     在Function.proto。(匿名函数)[获取](/ home / itzik / Desktop / express&nodejs /node_modules/express/lib/router/index.js:510:19)     在对象。 (/ home / itzik / Desktop / express&nodejs /routes/users.js:10:8)     在Module._compile(内部/模块/cjs/loader.js:701:30)     在Object.Module._extensions..js(内部/模块/cjs/loader.js:712:10)     在Module.load(internal / modules / cjs / loader.js:600:32)     在tryModuleLoad(内部/模块/cjs/loader.js:539:12)     在Function.Module._load(内部/模块/cjs/loader.js:531:3)     在Module.require(internal / modules / cjs / loader.js:637:17)     在要求时(内部/模块/cjs/helpers.js:22:18) [nodemon]应用程序崩溃-等待文件更改,然后再开始...

1 个答案:

答案 0 :(得分:0)

似乎您正在尝试在'user.js'中使用'userController.js',但没有将其导出。尝试在“ userController.js”中添加“ export”关键字。 如下所示:

export class usercontrollers {
...
}