留言板

留言板DOME

1,需求分析

功能:

 1)显示留言
 2)发表留言

技术:

Express(创建一台服务器,载入静态页面,接收前端传递的数据,存储数据)
EJS
数据存储(目前存储在文件中)
HTML+CSS

2,准备工作

(1)准备静态页面

在这里插入图片描述
在这里插入图片描述
静态页面准备OK。

(2)开始写后端(准备服务器)

创建一个文件夹,当作项目目录:

在这里插入图片描述

初始化项目,生成配置文件:

在这里插入图片描述

安装依赖:

在这里插入图片描述
在这里插入图片描述

使用IDE打开项目:

在这里插入图片描述

开始创建服务器:

在这里插入图片描述

通过nodemon启动服务器:

在这里插入图片描述

通过浏览器测试之,如下:

在这里插入图片描述

3,载入静态资源

 如果使用原生的方式载入非常麻烦,因为你需要你所有的资源,读出来,然后给浏览器响应回去。代码量非常大,由于我们是前端开发工程师,node原生写法,不需要我们掌握,直接上express中截入静态资源 ,使用express载入静态资源,非常简单,一行代码搞定。

我们先把静态资源放到项目的public目录下面,引时这个静态资源,不包含html文件,但是Html文件本质也是静态资源,只不过,我们需要把html文件放到views下面的。

先把静态资源放到public目录下面的,操作如下:

在这里插入图片描述

写代码载入上面的静态资源,如下:

在这里插入图片描述

使用浏览器访问你的静态资源,如下:

在这里插入图片描述
在这里插入图片描述
到此,我们的静态资源就载入OK了。

4,实现发表留言

用户在前端页面中填写,留言内容,你要知道,留言内容是在前端,

在这里插入图片描述

在提交留言之前,你需要确保,你的form中有name字段,如果没有,是提交不成的,代码如下:

在这里插入图片描述

先在浏览器端,看一下,这个请求有没有发出去,如下:

在这里插入图片描述

详情如下:

在这里插入图片描述

此时,服务器,找不到资源就报404。

接着要实现这个publish的路由,如下:

在这里插入图片描述

如何获取浏览器端传递过来的数据呢?

答:通过body-parser来获取。

我们去找一个模块怎么用?去哪找?

答:有两个地方官方一点,npm和github。目前来说,就去Npm上找。

https://www.npmjs.com/ 搜索如下:
在这里插入图片描述
在这里插入图片描述

点进去:

在这里插入图片描述
在这里插入图片描述

经过分析,写代码如下:

在这里插入图片描述

测试之,如下 :

在这里插入图片描述
在这里插入图片描述

数据得到,然后,要把数据存储到文件中。

但是存储之前,我们思考,一个留言一般都是有一个时间的,这个时候,不应该让用户自己去填写,如何添加一个时间呢?

 答:只需要给留言这个对象上加上一个time属性。

实现如下:

在这里插入图片描述
在这里插入图片描述

接着才是想办法,把数据存储到文件中,也就是对文件操作,要使用到系统模块,叫fs模块。如下:

在这里插入图片描述

数据存储到什么格式的文件中呢?

答:.txt可以   还有更好的,叫.json文件    由于我们没有学习Json,你给它当作JS对象。

尝试写了如下代码:

在这里插入图片描述

测试之,如下:

在这里插入图片描述
在这里插入图片描述

报错了。分析如下:

在这里插入图片描述

如何把一个JS对象转成字符串:

在这里插入图片描述

修改代码如下:

在这里插入图片描述

修改后,测试如下:

在这里插入图片描述

看一下,有没有这个文件,并且文件中没有数据,如下:

在这里插入图片描述

再去试一把,如下:

在这里插入图片描述

再看一下data.json,如下:

在这里插入图片描述

重新思考代码如何写了:

在这里插入图片描述

测试如下:

在这里插入图片描述

如果外面不包一个数组,不符合JSON文件的规范。

在这里插入图片描述

重新编写代码如下:

在这里插入图片描述
测试OK,到此,发表留言就OK了。

5,实现显示留言

然后,要实现显示留言。

在这里插入图片描述

前面已经安装过了ejs,它是一个第三方的模块,使用的话,直接去npm上搜索如何使用。

在这里插入图片描述

点进去,发现并没有关于在express中如何实现ejs,此时,你可以去github上看一下,如果还没有,你去百度搜索别的博客,如下:

在这里插入图片描述
在这里插入图片描述

实现代码中下:

在这里插入图片描述

先不绑定数据,直接渲染一个模板如下:

在这里插入图片描述

到目前为止,我们的项目目录结构如下:

在这里插入图片描述

尝试访问之,如下:

在这里插入图片描述
在这里插入图片描述

我们应该这样访问:

在这里插入图片描述
在这里插入图片描述

到目前为止,仅仅是渲染了一个没有数据的模板,或者说模板中的数据还是假数据,如下:

在这里插入图片描述

把假数据换成真实的数据,在服务器端访问/时,得到数据,如下:

在这里插入图片描述

在模板中,完成数据的替换,如下:

在这里插入图片描述

测试如下:

在这里插入图片描述
显示留言也OK了,so easy~

再在再测试之,如下:

在这里插入图片描述

优化代码如下:

在这里插入图片描述

测试如下:

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值