类型错误:express 不是函数

emr*_*ece 5 node.js express

嗨,我正在尝试使用jadeexpress一起使用。但它给了我TypeError。我做了npm initnpm install express -save然后node app.js。但它给了我同样的错误"TypeError: express is not a function"

// Module dependencies
var express = require('express')
  , nib = require('nib')
  , mysql = require('mysql')

 var app = express();

var app = module.exports = app.createServer();


app.set('views', __dirname + '/views')
app.set('view engine', 'jade')
app.use(express.logger('dev'))
Run Code Online (Sandbox Code Playgroud)

并且package.json

{
  "name": "reddit-node-mysql",
  "description": "A demo of how to use Express and MySQL together",
  "author": "Clarence Leung <github@clarle>",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "^2.5.11",
    "mysql": "~2.0",
    "nib": "^1.1.2",
    "jade": "^1.0.4"
  },
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "license": "ISC",
  "devDependencies": {}
}
Run Code Online (Sandbox Code Playgroud)

解决方案 我的模块版本已过时,因此无法正确安装。我更新了它们的版本,现在可以工作了。

Him*_*rma 5

您使用的是过时的快递,


"express": "^2.5.11",从包 json 中删除并运行

npm install --save express