Проблема: Когда я пытаюсь использовать session = require («express-session»), он дает ошибку для установки экспресс-сессии, но я уже установил ее, используя npm install express- сессия. Ошибка я получаю это:Ошибка при использовании экспресс-сессии с выражением
[email protected]:~/clg/project1/node_modules/express$ nodejs server.js
Error: Most middleware (like session) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
at Function.Object.defineProperty.get (/home/vishal/clg/project1/node_modules/express/lib/express.js:89:13)
at Object.<anonymous> (/home/vishal/clg/project1/node_modules/express/server.js:17:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
Теперь после установки экспресс-сессии мой структура каталогов
node_modules
express
server.js // file where i am using it
express-session
Server.js
var express = require("express"),
http = require("http"),
session = require("express-session"),
login = require("./server/login"),
app;
app = express();
http.createServer(app).listen(3000);
// set up a static file directory to use for default routing
app.use(express.static(__dirname+"/client"));
// set up express session to create session when user successfully login
app.use(express.session({secret: '123456'}));
// set up our routes
// for user login
app.get("/login", function (req, res) {
var result = login.validate(req,res);
if(result){
req.session.username="admin";
res.send("successfully logged in");
}
else{
res.append("error","Authentication Failed");
res.sendFile(__dirname+"/client/index.html");
}
});
app.get("/goodbye", function (req, res) {
res.send("Goodbye World!");
});
Мой новый package.json
{
"name": "askr",
"version": "0.0.1",
"description": "Class project for 473",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "BSD-2-Clause",
"dependencies": {
"express-session": "~1.10.3",
"express": "~4.12.2"
}
}
Это может помочь, если вы покажете нам больше своего кода. –
uhm ... вы редактируете server.js внутри папки node_modules? –
yes Я редактирую server.js внутри node_modules> express folder –