![](/img/trans.png)
[英]Express error - TypeError: express.Router is not a function
[英]Why “TypeError: express.Router is not a function”
嘗試使用 nodejs express 制作登錄應用程序。 但是在我運行它之后。 它顯示 TypeError: express.Router is not a function。 我的快遞是最新的4.13.4版本。 任何人都可以幫助我嗎?這是代碼。
var User = require('../modules/user');
var config = require('../../config');
var secretKey = config.secretKey;
module.exports = function(app,express){
var api = express.Router;
api.post('/signup', 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);
return;
}
res.json({ message: 'user has been created'});
})
});
return api;
};
我看不到包含快遞庫的要求。
var express = require('express');
var app = express();
還記得做
$ npm install express --save
安裝它。
這是參考
它應該是var api = express.Router();
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;
在調用 Router 方法之前,您需要 require 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'});
});
});
};
嘗試添加 require('http') 或 require('https') 作為第一個 require 語句。
我遇到了var express = express()
返回錯誤的問題:不是函數。 在 express 目錄中進行了一些探索后,我看到示例代碼首先需要 http 或 https。 因此,添加一個(可能兩個)作為第一個(和或第二個)文件導入。
const express = require('express');
const mongoose = require('mongoose');
const router = express.Router();
router.get('/', (req, res)=>{
res.send('Course Controller');
});
module.exports = router;
寫 npm i express -s
我試過了,它對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.