这半个月来一直在学习Node的web开发。使用的web框架是express,模板引擎最终选择了ejs。与jade相比,不需要学习新的语法规则,贴一些HTML代码片段也很方便,减少了很多前端设计的工作,更注重业务逻辑中的设计背景。Bootstrap由前端CSS框架直接选择,配置简单,页面美观。最终选择了Mysql作为数据库。不为别的,我对它比较熟悉,但是我也在学习mongodb。这个小评分系统是直接用mysql做的。所以这里开发NodeWeb项目在技术选择上还是很适度的,具体如下:Web框架:Express,我没有选择Koa,因为不明白两者的本质区别;模板引擎:ejs,我没有选择jade只是因为懒,不想重新学习语法,最重要的是网上的html片段可以直接粘贴到ejs中,jade不行;CSSframework:bootstrap,暂时不知道其他的选择;数据库:Mysql,只是为了前期的熟悉,不过我正在研究如果你学习了mongodb,后期的项目开发应该选择Mongodb;第一次使用Node进行web开发,学习了一段时间的Node相关知识,但是从来没有亲手写过一个完整的项目。这个评分系统也算是我的了。第一个NodeWeb项目。最初的想法最初的想法是使用部门学习会议的等级。以前都是通过聊天工具给统计员发消息,然后用excel算分,算平均分。这种方法感觉太低了,有碍于面子,得到的分数基本没有区别,所以带着公平、公正、公开的理念,萌生了最初的想法。实现功能的平均分统计显示,每个IP只允许投票一次。管理员可以添加、修改、删除等功能。前台可以查看投票详情,但不可见投票人的IP接口设计。使用了bootstrap的所有基本组件。不用写一段CSS代码,前台页面分为index和show,后台页面为admin、login、edit、show。展示页面是公开的。如果是管理员,会显示选民IP,可以进行删除操作。界面风格如下图所示:前景:背景:用户管理(注册、登录等)不足。由于内网使用频率不是很高,所以不考虑用户管理。管理员用户直接向数据表中插入数据进行账号密码校验。不使用布局模板。因为页面比较小,简单,写首页的时候没有做模板复用,views文件夹下的每个ejs文件代表一个页面。没有使用js、ajax等异步验证功能。落地页直接匹配后台逻辑,刷新页面。当然代码质量也存在一些问题,就不一一列举了,因为我的编程水平实在是一般。这是我第一次写NodeWeb项目,业余两天就完成了。许多错误是不可避免的,所以请原谅我。这里主要记录评分系统的一些基本信息,然后介绍一些功能的具体实现,希望对大家学习NodeWeb开发有所帮助。
