毕设记录
回忆一下毕业设计中用到的知识点,并与现在做的进行对比,找出以后写代码时需要注意的地方
由于毕业设计需要具体实现,但我并不想用jsp的方式去套模板。所以, 我想还是应该看一下Express,因为这个框架可以让我使用点击跳转的功能(路由),实现为一个APP,而不仅仅是静态的确实功能的页面。
# Express
# 路由
Express是基于Node.js环境来实现WebApp的比较好的一种选择,而他其中最重要的就是**"路由(Route)"**。
语法:app.METHOD (PATH , HANDLER) 。
METHOD是HTTP请求,例如get/post/put/delete请求;PATH是服务器路径(字符串/正则),就是浏览页面时的路径;HANDLER是执行函数,传入了request/response两个参数以调节页面内容。
# 路由请求
Express 定义了如下和 HTTP 请求对应的路由方法: get, post, put, head, delete, options, trace, copy, lock, mkcol, move, purge, propfind, proppatch, unlock, report, mkactivity, checkout, merge, m-search, notify, subscribe, unsubscribe, patch, search, 和 connect。
# 静态资源
页面的静态资源还需要手动配置,例如图片、css、javascript等。
语法:app.use(express.static('public'));。
访问的时候直接访问public内的路径即可(相对)。
另外,静态资源加载的方法可以调用多次,也可以虚拟一个路径来方便管理app.use('static', express.static('public'));。
# 问题
# 数据库
express不包含连接数据库的模块,安装mongoose,使用它的mongoose.connect即可解决这个问题。
# 登录验证
express不包含,之后会注意一下可以用那些模块。
# 404
404页应该添加一个对应的中间件。
app.use(function(req, res, next){ res.status(404).send('Sorry can not find that!'); });
# 错误处理
app.use(function(err, req, res, next){ console.error(err.stack); res.status(500).send('Something broke!'); })