想用nodejs实现一个简单的路由,安装运行出错?
server.js
const express=require('express');
const static=require('express-static');
const bodyParser=require('body-parser');
const multer=require('multer');
const multerObj=multer({dest: './static/upload'});
const mysql=require('mysql');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');
const consolidate=require('consolidate');
const expressRoute=require('express-route');
var server = express()
server.listen(8080)
//获取前台请求数据
server.use(multerObj.any())
//cookie,session
(function(){
server.use(cookieParser());
var keys=[]
for(var i=0;i<100000;i++){
keys[i]='a_'+Math.random()
}
server.use(cookieSession({
name: 'sess_id',
keys: keys,
maxAge: 20*60*1000
}))
})()
//模板
server.engine('html', consolidate.ejs)
server.set('views', 'template')
server.set('view engine', 'html')
// route
var r1 = express.Router()
var r2 = express.Router()
server.use('/article', r1)
r1.get('/1.html', function(req,res){
res.send('我是文章').end()
})
r1.get('/2.html', function(req,res){
res.send('我ye是文章').end()
})
server.use('/blog', r2)
r2.get('/a.html', function(req,res) {
res.send('我是blog').end()
})
r2.get('/b.html', function(req,res) {
res.send('我也是blog').end()
})
// default: static
server.use(static('./static/'));
pack.json
{
"devDependencies": {
"body-parser": "^1.18.2",
"consolidate": "^0.15.0",
"cookie-parser": "^1.4.3",
"cookie-session": "^2.0.0-beta.3",
"express": "^4.16.2",
"express-route": "^0.1.4",
"express-static": "^1.2.5",
"multer": "^1.3.0",
"mysql": "^2.15.0",
"static": "^2.0.0"
}
}
安装的时候会报错
运行的时候会报错
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
代码太多了不好看.
建议单独开一个项目.
只测试必要的包(你觉得有问题的包).
这样缩小范围后才好定位问题在哪
express-router的版本和node版本不匹配,装个新一点的node和新一点的express-router
现在最新的nodejs都到9.x.x了,建议别再用6x的版本。
另外,如果只想学路由的话,没必要引入那么多的包。
如果后端使用express的话,对于初学者来说,非常建议使用express-generator,它会自动帮你生成一份带有路由,视图等一套开箱即用的一套后端模板。
你这个明显就是安装的包和nodejs不兼容,你安装的几个包都是最新的,还有有测试版本,nodejs版本过低,这些最新的包明显不兼容。
谢邀
从错误信息来看,应该是nodejs和express版本不兼容的问题
Just for fun——PHP框架之简单的路由器(1)
虽然是用PHP写的,但是原理是一致的,node也可以实现,希望能帮到你^_^
安装报错说的是express-router版本太旧了。更新一下之后再试试