一些是自己的想法,另一些是看博客或者书籍里面得出的,随手记在这里。

  1. 基于页面的开发

    最初的前端资源模式是基于页面的,像最开始接触web、开发web时候,一般是新建页面-引入jQuery-新建index.css\page-1.css\page-2.css等-新建index.js\page-1.js等,完全是基于页面的。
    基于页面的静态资源管理是最开始“刀耕火种”的产物,倒是比再久之前写内联样式、script标签要好的多(实现了页面样式\脚本和页面骨架之间的分离,但是属于很粗浅的分离),但是这种模式在使用中就暴露了很多问题:
    (1)资源重复:很多页面样式代码\js函数代码都是在不断重复;开发很多时候是CTRL+C\V,然后再改一个小参数而已;
    (2)维护困难:如果需要修改某页面中的一个按钮,需要翻到对应的page-x.css,然后再手动修;如果别的页面也有相似按钮,就需要再找到另一个文件,完全是人工的浪费时间的修改维护;
    (3)开发难度大:这种基于页面的随性方式给了开发者很多空间, 不必管XXX,做出来就行;但是如果从页面级别上升到业务级别,在整套的业务代码下的开发就变得蛋疼了;页面引入了十几个js文件,window.onload函数不知不觉被写了多遍或者造成了全局变量污染命名空间的事情;静态资源管理也出现了问题,一个页面引了十几个文件,如果需要调整,则手动到模板文件里修改;
    页面越大、逻辑越复杂这种模式的弊端就越明显。
    这种基于页面的开发让我想起了在面试时跟面试官说的一道问题,老大问我”你对模块化是怎么看的“,我当时举了个例子说”原来的这种写法和不用框架、不用模式写php一样,意大利面条似的开发,代码混成一片“。
    所以这种模式面临的问题需要解决,解决方案也就是模块化和组件化。

[idea]对于前端里面一些事情的看法的更多相关文章

  1. 前端开发面试知识点大纲--摘自jackyWHJ

    前端开发面试知识点大纲:HTML&CSS:    对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应 Ja ...

  2. 淘宝前端工程师:国内WEB前端开发十日谈

    一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...

  3. Web前端开发十日谈

    =========================================================================== 原文章: http://kb.cnblogs.c ...

  4. 【WEB前端经验之谈】没有速成,只有不断积累。

    2013年8月25日,我人生中的第一份正式工作开始了,第一份工作做的是当时学习的asp.net,用的是C#语言. 到第一家公司上班是公司是做一个OA系统,不过我去的时候大部分都已经完成了,剩下的都是细 ...

  5. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  6. 绝对精品推荐做前端的看下:Web前端开发体会十日谈

    20151208感悟: 前端人的角度来看的话,感觉像是阅读一个大牛前端的全部武功的一个秘籍说明,里面的思想高价值蛋白真是太多太多,推荐看. Web前端开发体会十日谈 一直想写这篇“十日谈”,聊聊我对W ...

  7. 前端架构师亲述:前端工程师成长之路的 N 问 及 回答

    问题回答者:黄轶,目前就职于 Zoom 公司担任前端架构师,曾就职于滴滴和百度. 1. 前端开发 问题 大佬,能分享下学习路径么,感觉天天忙着开发业务,但是能力好像没有太大提升,不知道该怎么充实自己 ...

  8. 前端网老姚浅谈:怎么学JavaScript?

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  9. 再谈 Go 语言在前端的应用前景

    12 月 23 日,七牛云 CEO & ECUG 社区发起人许式伟先生在 ECUG Con 2018 现场为大家带来了主题为<再谈 Go 语言在前端的应用前景>的内容分享. 本文是 ...

随机推荐

  1. Nginx代理配置文件

    #user nginx; worker_processes 5; #error_log /var/log/nginx/error.log warn; #pid /var/run/nginx.pid; ...

  2. 「小程序JAVA实战」小程序搜索功能(55)

    转自:https://idig8.com/2018/09/23/xiaochengxujavashizhanxiaochengxusousuogongneng54/ 通过用户搜索热销词,将热销词添加到 ...

  3. 横向文本框 index获取索引 和 eq 实现

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. c++经典排序算法全集(转)

    C++排序算法全集 排序算法是一种基本并且常用的算法.由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高. 一.简单排序算法 由于程序比较简单,所以没有加什么注释.所有的程序都给出了完 ...

  5. linux下实时查看log

    1.先切换到:cd usr/local/tomcat5/logs2.tail -f catalina.out3.这样运行时就可以实时查看运行日志了 Ctrl+c 是退出tail命令. 顺便讲一下lin ...

  6. django中文件下载(HttpResponse)

    最近一个用django开发的web项目要进行数据的导入导出,所以有必要了解下. django中主要用HttpResponse将请求结果返回给浏览器,所以文件的下载也是通过改对象进行处理的,具体的一个列 ...

  7. 深入理解Spring的容器内事件发布监听机制

    目录 1. 什么是事件监听机制 2. JDK中对事件监听机制的支持 2.1 基于JDK实现对任务执行结果的监听 3.Spring容器对事件监听机制的支持 3.1 基于Spring实现对任务执行结果的监 ...

  8. 77. Combinations (Recursion)

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  9. FTP上传下载--python

    import socket import struct import json import subprocess import os class MYTCPServer: address_famil ...

  10. [Python]利用type()动态创建类

    Python作为动态语言,可以动态地创建函数和类定义.比如说定义一个Hello类,就写一个hello.py模块: #! /usr/bin/env python #coding=utf-8 class ...