为什么" TypeError:express.Router不是一个函数"

时间:2016-05-19 03:56:53

标签: node.js express

尝试使用nodejs express创建登录应用程序。 但是在我运行它之后。它显示TypeError:express.Router不是一个函数。 我的快递是最新版本4.13.4。任何人都可以帮助我吗?这是代码。

import com.typesafe.sbt.packager.MappingsHelper._
    mappings in Universal ++= directory(baseDirectory.value / "public")

8 个答案:

答案 0 :(得分:2)

我无法看到包含快速库的要求。

var express = require('express');
var app = express();

还要记得制作

  

$ npm install express --save

安装它。

这是参考资料

http://expressjs.com/en/4x/api.html

http://expressjs.com/en/starter/installing.html

答案 1 :(得分:1)

var api = express.Router();

或尝试此代码:

var router = require('express').Router(),
    User = require('../modules/user'),
    config = require('../../config');

router
    .post('/signup', function (req, res, next) {
        var user = new User(req.body);    

        user.save(function (err) {
            if (err) res.send(err);
            else res.json({message: 'user has been created'});
        })

    });

module.exports = router;

答案 2 :(得分:1)

在调用Router方法之前,您需要使用express模块​​,您可以在“/ signup”路由中添加更多HTTP方法。

var express = require('express');    
var User = require('../modules/user');
var config = require('../../config');
var api = express.Router();
var secretKey = config.secretKey;

module.exports = function(api) {
  api.route('/signup')
   .post(function(req, res) {
     var user = new User({
       name: req.body.name,
       username: req.body.username,
       password: req.body.password
     });

     user.save(function(err) {
      if (err) res.send(err);

      res.json({ message: 'user has been created'});
    });
  });
};

答案 3 :(得分:0)

尝试添加require('http')或require('https')作为第一个require语句。

答案 4 :(得分:0)

我遇到了var express = express()返回错误的问题:不是函数。在快速目录中进行一些搜索之后,我看到示例代码首先需要http或https。因此,添加一个(可能是两个)作为第一个(和第二个)文件导入。

答案 5 :(得分:0)

应为var api = express.Router();

答案 6 :(得分:0)

const express = require('express');
const mongoose = require('mongoose');

const router = express.Router();
router.get('/', (req, res)=>{
    res.send('Course Controller');
});

module.exports = router;

答案 7 :(得分:-1)

写npm i express -s

我已经尝试过了,它为我工作