《Web前端开发最佳实践》——第2章 高效Web前端开发2.1 前端代码的结构组织和文件的命名

简介:

本节书摘来自华章计算机《Web前端开发最佳实践》一书中的第2章,第2.1节,作者:党 建 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第2章 高效Web前端开发

本章首先将概述Web前端开发中的相关最佳实践,如前端代码文件组织、前端代码重构、前端框架的选择,以及前端开发过程中实用的开发辅助工具等,帮助读者提高前端开发的效率。好的开发方式在项目中会起到事半功倍的效果,并且可确保开发过程中的代码结构清晰,易维护。本章然后会介绍前端代码的基本命名规范和格式规范,良好的命名规范和规整的格式让代码看起来干净整洁,也体现了开发者良好的职业素养,应该说命名规范、整齐的格式不仅是开发过程中的一种约定,而且是程序员之间良好沟通的桥梁。

2.1 前端代码的结构组织和文件的命名

代码的组织和代码文件的命名并没有最优的形式,但是无论什么代码,它们所遵循的原则是相同的,即在同一个项目中代码的组织结构一定要清晰,同类型的代码文件或者相同模块的代码文件尽量归类到相同的文件夹中,文件的命名规则须统一并且命名要有意义。
(1)代码文件组织结构
前端代码文件主要包含JavaScript、CSS、HTML等文件,以及这些代码文件相关的图片、Flash、音视频等资源文件。如何合理地组织这些文件是项目成败的关键因素之一,对于该文件,既要考虑结构清晰、一目了然,还要考虑代码的复用。基于这样的原则,惯用的做法是同类文件放在一起,并按模块划分文件
结构。
如下是一种常用的前端文件的组织结构:

  • js(放置JavaScript代码)
  • lib(放置框架JavaScript文件)
  • custom.js
  • css(放置CSS样式代码)
  • lib(放置框架CSS文件)
  • images(放置用于样式中的背景图)
  • reset.css(统一元素默认样式的样式文件)
  • custom.css(业务相关样式文件)
  • resource(放置页面图片文件以及其他类型资源文件)
  • index.html

代码文件整体按照文件类型的不同归类,同一类型的代码文件则需要按照具体的业务模块来划分,切忌把多个模块的代码编写到同一个文件中。划分的粒度以最大化代码复用为标准,这样做的优点是易于维护和管理。不同模块的代码放置到不同的文件中也更有利于多人协作开发。图2-1是实际项目中的一个示例。


11dc1cdad28305b54ede4ab9dcdb5824107ed389

如果每种分类下面的文件过多,则可以根据对应的模块来归类到不同的模块文件夹中。例如,某个项目业务模块很多,导致前端JavaScript脚本文件数量过多,如果这些文件放置到同一个文件夹中,将会增加维护的困难。如果按照模块的不同新建不同的文件夹,并把同一模块相关的代码文件放置在对应的模块文件夹中,则代码文件的结构更加清晰。
细心的读者可能会发现代码文件的细化会使代码文件的数量增多,相应地进行网站加载时请求的数量也会增加,这样会导致网页整体的加载时间变长。的确,加载文件数量增加会影响页面加载的速度,所以,发布时需要合并相应的代码文件。值得庆幸的是,有相关的工具或插件可以弥补这一不足,比较著名的有雅虎(Yahoo)公司开发的YUI Compressor和微软公司开发的Web Optimization。YUI Compressor是基于Java平台开发的,在Java平台下应用较多,而Web Optimization则是基于.NET平台开发,所以在ASP.NET开发的项目中广泛应用。
(2)代码文件的命名
代码文件命名的原则主要是名称需要表明文件对应的模块内容、对应的版本号和文件的格式等,如jQuery的文件命名为jquery-1.8.2.min.js,其中,jquery表明文件的内容,1.8.2表明文件的版本号,min表明此文件为文件的压缩格式版本。如果文件为子模块文件,则在文件名中用点号或短横线来表明父子关系,如Bootstrap框架中响应式设计模块对应的CSS文件的命名为:bootstrap-responsive.css。
相关文章
|
8月前
|
安全 测试技术 程序员
web渗透-文件包含漏洞
文件包含漏洞源于程序动态包含文件时未严格校验用户输入,导致可加载恶意文件。分为本地和远程包含,常见于PHP,利用伪协议、日志或session文件可实现代码执行,需通过合理过滤和配置防范。
1206 79
web渗透-文件包含漏洞
|
11月前
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
967 2
|
7月前
|
JavaScript 前端开发 安全
Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
每日激励:“如果没有天赋,那就一直重复”。我是蒋星熠Jaxonic,一名执着于代码宇宙的星际旅人。用Vue 3与TypeScript构建高效、可维护的前端系统,分享Composition API、状态管理、性能优化等实战经验,助力技术进阶。
Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
|
监控 前端开发 JavaScript
前端工程化和传统前端开发的区别是什么?
前端工程化相比传统前端开发,在开发模式、代码组织与管理、构建与部署流程、团队协作、性能优化以及技术选型等方面都有了显著的改进和提升,能够更好地应对现代前端应用开发的复杂性和高要求。
|
12月前
|
XML 安全 前端开发
一行代码搞定禁用 web 开发者工具
在如今的互联网时代,网页源码的保护显得尤为重要,特别是前端代码,几乎就是明文展示,很容易造成源码泄露,黑客和恶意用户往往会利用浏览器的开发者工具来窃取网站的敏感信息。为了有效防止用户打开浏览器的 Web 开发者工具面板,今天推荐一个不错的 npm 库,可以帮助开发者更好地保护自己的网站源码,本文将介绍该库的功能和使用方法。 功能介绍 npm 库名称:disable-devtool,github 路径:/theajack/disable-devtool。从 f12 按钮,右键单击和浏览器菜单都可以禁用 Web 开发工具。 🚀 一行代码搞定禁用 web 开发者工具 该库有以下特性: • 支持可配
1191 22
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
938 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
667 17
使用Web浏览器访问UE应用的最佳实践
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
339 6
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1060
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    457
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    355
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    338
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    457
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    628
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    950
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    243
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    784
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    424