0
これはMEAN app tutorialと一緒に新しいことですが、LinuxのCLで' node server 'を実行するとエラーが発生します(sudoをmkdirそして、)すべてのファイルを触れて、ノードサーバを実行明示的なエラー: "TypeError( 'Router.use()はミドルウェアが必要です
>sudo node server
/home/jake/web/tasker/node_modules/express/lib/router/index.js:458
throw new TypeError('Router.use() requires middleware function but got a ' + gettype(fn));
^
TypeError: Router.use() requires middleware function but got a Object
at Function.use (/home/jake/web/tasker/node_modules/express/lib/router/index.js:458:13)
at EventEmitter.<anonymous> (/home/jake/web/tasker/node_modules/express/lib/application.js:220:21)
at Array.forEach (native)
at EventEmitter.use (/home/jake/web/tasker/node_modules/express/lib/application.js:217:7)
at Object.<anonymous> (/home/jake/web/tasker/server.js:23:5)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
私の主なserver.jsファイル:。。
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var index = require('./routes/index');
var tasks = require('./routes/tasks');
var port = 3000;
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine','ejs');
app.engine('html',require('ejs').renderFile);
//static folder for Angular stuff
app.use(express.static(path.join(__dirname, 'client')));
//body Parser MiddleWare
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use('/', index);
app.use('/api', tasks);
app.listen(port, function(){
console.log('Server has begun');
});
とpackage.json:
{
"name": "tasker",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.17.1",
"ejs": "^2.5.6",
"express": "^4.15.2",
"mongojs": "^2.4.0"
}
}
'。/ routes/index.js'または'。/ routes/tasks.js'(またはその両方)は、ルータ、ルートハンドラ関数、ミドルウェア関数の代わりにオブジェクトを返します。いずれにしても、_actual_server.jsの23行目をご覧ください – robertklep