当前位置:网站首页>Web结题报告
Web结题报告
2022-07-30 17:50:00 【露月二十日】
一、摘要
通过Angular官网英雄之旅教程的学习,我仿照英雄之旅开发一个“To Do List”的应用,即待办任务清单,最终能实现的功能有:
- 导航栏固定使用路由更换显示组件
- 显示所有待做任务列表,单击某待做事项列表将展开操作页面
- 点击待做事项卡片,查看详情进入待做事项详情
- 增删改查四个功能,并且与数据库相连接
- 事件详情页面可以编辑待办事件信息并保存同步至服务器

二、开发过程以及遇到的问题
在开始项目之前,需要先搭建Angular的环境。
我首先安装JS运行环境node,然后安装包管理器yarn :使用yarn包进行管理,更换其包仓库为淘宝;之后,安装并配置Angular/cli,然后通过棋歌的教学网站以及angular的网站一步步建设自己的网页,先构建纯静态网页,然后采用内存 Web API 模拟数据库数据,完成网页基本功能 ,然后安装后台服务程序Deployd:先在本地端口部署建立MongoDB数据库,然后将MongDB部署在阿里云上,再将此时的数据来源由mock修改为数据库。
完成Notepad的静态网页功能设计,这一阶段由于angular的教程十分详尽,且逻辑架构清晰,本阶段没有遇到特别大的困难,任务项目进展的十分顺利。
由于是构建一个动态网页,因此需要与数据库连接,所以,首要要完成的任务就是构建一个数据库,数据库我选用mongodb,首先以管理员的身份使用yarn安装Deployd,然后再去官网下载mongodb。再准备好这两个软件后,我就使用 dpd create thingDB 来新建后台服务程序,使用 cd thingDB 进入新建的文件,当使用dpd -d 来启动mongodb服务器时,出现了第一个问题。
问题一:
好在棋歌教学网都有解决方案,即,先输入mongod --dbpath=data,指定当前目录下的data目录为数据库文件目录,然后新建要给命令窗再执行 dpd --host 127.0.0.1 -d, 明确指定MongoDB服务器的地址,现在数据库就打开了。
问题二:
当解决完上述问题时,Mongodb确实打开了,但是却出现了异常情况
解决方案:修改刚生成的 Notepad 目录下 node_modules/filed/main.js 文件33和155行 lookup 函数为 getType 即可
正常界面
在创建好数据库后,下一步就是连接数据库,使得网页的数据能从数据库中抓取出,在这一部分我遇到了两个问题,且花费了很多的时间。
问题三:
当我在thing.service.ts中写入数据库本地地址,并且修改好增删改查等功能性代码后,我输入指令ng s --o 在浏览器上查看网页,发现网页上没有任何抓取到任何数据,我快捷键F12打开网页网页控制器,显示错误如图
解决方案:搜索资料发现是我网址没有找对,应该是要进入数据库的API组件,点击/thing,进入数据库表,而在thing.service.ts中应该写入的就是本网页的地址。

问题四:
在我修改正确地址信息后,页面还是没有任何信息,我再一次查看控制器,问题如下:
解决方案:搜索众多资料无果后,没有别的办法,只能自己思考,猜测有可能是在完成前端设计时,用mock作数据传入,但是现在改为数据库操作后,没有清除mock,导致mock数据与数据库数据冲突(原因不知道是否准确),在删除mock文件,spce.ts文件后,问题解决。
在这四大问题解决之后,就实现了在开头描述的所有功能,过程中出现了不少的小问题,例如:新建结题报告的组件,忘记添加路由;忘记判断传输参数是否为NULL,而出现的报错等就不再赘述。
三、未实现
在整个项目功能完成后,需要进行部署,首先我在阿里云借用了一台服务器,能免费使用一个月。我已经在服务器提供的虚拟机上安装好node.js和mongodb,且运行好了网页,但是尝试外网访问确访问不了,然而ping却可以ping通。不知道问题出在哪里,所以没有实现网页部署。
四、总结
就个人喜好而言,还是觉得做动态网页有意思,首先就浏览器所能看到的应用网页基本都是动态的,所以就实用性和发展性而言,制作动态网页带给我的成就感和完整度是非常高的。从angular框架的建立,到网页的设计建立,从数据库的设计,再到数据库信息的抓取,在整个网页构建完成后,将整个项目部署到云端(虽然最终没有完成这一点),这一系列的操作就是象征着一个虽然渺小,但是完整的网页的诞生,从无到有,从未知到成型,这门Web课和本次结题设计带给我的不仅仅是知识上的收获,更是精神上的一次满足。
边栏推荐
- What is an ultrasonic flaw detector used for?
- reporter undercover
- Confluence OGNL注入漏洞复现(CVE-2022-26134)
- 测试行业干了5年,从只会点点点到了现在的测试开发,总算是证明了自己
- PLSQL Developer安装和配置
- 自动化早已不是那个自动化了,谈一谈自动化测试现状和自我感受……
- LayaBox---TypeScript---基础数据类型
- LayaBox---TypeScript---泛型
- Test the.net text to Speech module System. Researched
- Moralis去中心化Web3应用开发教程
猜你喜欢

网络基础(三)01-网络的基础概念——URL地址组成之协议、主机地址、路径和参数&127.0.0.1本地回环地址& 查看网址IP地址并访问之ping空格+网址&netstat -anb查看本机占用端口

「Redis应用与深度实践笔记」,深得行业人的心,这还不来看看?

This year..I sincerely recommend the professional engineer to upgrade to the book!

ERROR 2003 (HY000) Can't connect to MySQL server on 'localhost3306' (10061)Solution

Pagoda builds PHP adaptive lazy website navigation source code measurement

Confluence OGNL注入漏洞复现(CVE-2022-26134)

2022鹏城杯web

Linux-安装MySQL(详细教程)

Error occurred while trying to proxy request The project suddenly can't get up

LeetCode 952. 按公因数计算最大组件大小
随机推荐
Leetcode数据库系列题解合集(持续更新)
Graph Attention Mechanism
LayaBox---TypeScript---类型兼容性
FastJson反序列化漏洞(复现)
CMake库搜索函数居然不搜索LD_LIBRARY_PATH
【HMS core】【FAQ】Account Kit、MDM能力、push Kit典型问题合集6
What are the applications of X-rays?
ESP8266-Arduino编程实例-BMP180气压温度传感器驱动
宽带射频放大器OA4SMM4(1)
时序数据库在船舶风险管理领域的应用
论文阅读之《Color Constancy Using CNNs》
记者卧底
Hangzhou electric school game 2 1001 2022 Static Query on Tree (Tree + hash table difference chain subdivision
leetcode-547:省份数量
高性能短链设计
什么是工业射线照相设备?
windwons 下GPU环境和pytorch安装
测试.net文字转语音模块System.Speech
毕业1年从事软件测试拿下11.5k,没有给98后丢脸吧...
ByteArrayInputStream 类源码分析