毕设记录

2017/8/22 Node.jsExpress

回忆一下毕业设计中用到的知识点,并与现在做的进行对比,找出以后写代码时需要注意的地方

由于毕业设计需要具体实现,但我并不想用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!'); })