zoukankan      html  css  js  c++  java
  • [idea]对于前端里面一些事情的看法

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

    1. 基于页面的开发

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

  • 相关阅读:
    linux下编译GDAL3.x(集成Proj和Geos等)
    CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
    CSS hover伪类改变其他元素的样式
    PHP 删除数组指定元素
    CakePHP 调试方法 汇总
    Linux/Mac OS 在终端使用 code 命令打开项目 VSCode
    苹果 MacOS 安装 Source Code Pro
    MacOS 安装 Homebrew 错误处理 Connection refused
    修改 VSCode 终端 Terminal 的字体
    spring cloud gateway自定义过滤器
  • 原文地址:https://www.cnblogs.com/limingxi/p/4650220.html
Copyright © 2011-2022 走看看