系统分析与设计大作业--电影订票系统编程总结(一)

Posted by liveipool on April 20, 2017

系统分析与设计大作业–电影订票系统编程总结(一)

在实际做项目中,会遇到一些看书时不会注意到的问题,这些问题如果不记录下来,下次遇到时可能还是不知如何解决。以下就是最近做项目中遇到的一些点。

不同页面分别加载依赖

以前构建项目包时,是用gulp-inject把所有依赖一次性添加到layout.jade中,这样不仅不科学,还会产生很严重的副作用。在这个项目中,通过jade的模板继承,取个名字block links之类的,分别给每个页面加载不同的依赖,这样更科学。

通过mixin划分各个模块

这是一个好习惯,也是jade的好处之一。模块化之后既方便分配给组员任务,也可以更好的进行管理等。

新建一个gulp.build指令

新建一个单独的指令,随便取名为如gulp.build之类的,方便用于前后端对接时只打包需要的文件而不用开启服务器。以前搭建这个框架时就忘了这个问题,算是项目中的一个小经验吧,以后记得在前后端分开开发时要考虑对接时的情况。

ajax的跨域问题

看过很多跨域的解决方法,都是要前端和后端代码配合着写的,如jsonp之类的,但看了很多种方法,最简单的还是直接在后端设置http响应头部allow-access-control-origin,如设置成‘ * ’就是允许所有域来向服务器请求资源,后端这么设置之后,前端通过CORS机制就可以直接根据绝对路径请求资源了,但这种方法也有安全问题就是所有的域都可以请求这个服务器的资源,但我想以后开发结束整合了前后端代码配置上线之后,由于到时候运行时是同源的了,就可以把这个设置取消了。

不用框架写单页应用

这次的项目中写着写着产品经理突然说有几个页面可不可以做成单页面。开始我还在想到底行不行,但上网查了一下之后发现挺简单的,这也增强了我的信心,虽然我这次没用前端的大型框架,但要实现的功能基本都还是能实现的,毕竟现在的angular, vue也都只是对原生代码进行了封装,底层始终都是最基础的html、css和js
想写单页应用最重要的就是搞懂单页应用的原理:在第一次加载页面之后,对页面中的某些元素进行操作,不刷新页面或跳转到另外的页面,只是通过hash的变化来相当于切换模板。即,我们可以通过onhashchange事件来监测hash值变化的时候,对不同的模块进行display的none和block的切换。
只要弄清楚了原理,写单页应用也就只剩下些细节问题了。

赞赏码.jpeg