前端项目代码结构的管理

  总结一下,自己对前段项目结构的构建。

  匆忙写下,后续修改。

  对于前端的各种风格,我倒是没有什么所谓,每个人有每个人的风格。我比较在意代码的结构,代码的结构清晰,更容易帮助人理解业务逻辑,而不至于陷入各种api的调用使用中无法自拔,api使用不合理,倒无所谓,每个人都有自己的欠缺,有些知识不够深入,就容易api使用不合理,但是,客户端的性能很强大,这些东西在前期都可以暂时性忽略。

  1、唯一入口。

  每一个页面都有一个唯一的入口,即,从文件夹,css,js,html都是从一个入口进入,往深入扩展,让整个结构看起来像一棵树,一层套一层。这样,在无形之中,自己就会将代码写在合适的地方。下一个接手的同事,在梳理代码的时候,更容易熟悉业务逻辑,在不是很熟悉的时候,也会将代码写在合适的地方。

  2、静态文字,资源的管理。

  从国际化角度来说,所有显示在页面上的文字都应该抽离出来;所有接口的调用地址,也应该独立存放,根据上面的唯一入口原则,当项目非常大的时候,可以折叠,查找维护起来会更加方便。

  3、动态数据的管理。

  在前端构建项目的时候,大多时候都是先写好静态页面,写好交互,再接入接口;后台版本迭代过多的时候,也可能会重构项目,将很多冗余数据,字段去除,整个项目重构,后台重构,往往前端也要跟着重构,这个时候就可以将动态数据静态化,意思是,前期构建好的项目,需要的数据,封装成一个JSON,通过一个格式化数据的js文件,转化过来,之后所有通过接口返回的数据,都通过这个js文件,转化成前端说需要的JSON结构。即,ajax ---> js文件 --->  JSON  --->  页面数据。往后,后端重构,前端样子不变,或者结构不变,我们只要在js文件中将后端返回的新的数据结构,转化成为之前的结构即可,将整个项目的交互和动态数据解耦。

  4、不同页面交接,入口分发式。

  现在很多项目都是spa,spa很大一个问题是首屏加载,而更多时候用户是过路式使用,即,只用之中一个功能,用完就走,例如打卡,打完卡就直接关闭页面(没有想解决这个问题)。比较常见的处理方式是:按模块加载,即,打包的时候将每个模块打包成一个js文件,就减少了首屏加载的一部分问题。在不断的迭代中,需求发展着很可能会让多个模块耦合在一起,随着版本的迭代,在项目的某个部分公用多个地方,又不能抽离成组件的时候,整个项目版本迭代过多之后,大多会变得不可维护,难于维护,特别是赶时间,写了代码没有时间去重新整理,就需要一个公用耦合页面入口进行分发,以后维护,还是交接时,都知道应该在哪里写代码。

  5、第三方组件,二次封装。

  现在提倡的模式是敏捷开发,各种npm,各种UI库。刚构建项目的时候,用得很爽,抬手间就将项目写完了。但是,现在定制化程度很高,产品经理需求也更多,更加想象不到,用着用着第三方的UI库,特别是多个地方用上的时候,并且UI妹子没有组件化思想,一点点改动的时候,UI库的组件就会变成非组件,最后统一组件的时候,就会发现一个残酷的现实,某些组件写着写着变成了另一个组件,某些本来不是组件的,写着写着变成了组件(写代码没有组件化,别人骂你,你还不能反驳),当某些某些组件变成了新的组件的时候,处理不恰当,新组件跟业务会耦合在一起,如果没有足够的时间梳理,那么,最简单的方法就是拷贝。。。从此,再无组件。

  6、本来不是组件的,写着写着变成组件了。无解,求搭救。

  本文原创,不允许转载,如有问题,欢迎探讨。

原文地址:https://www.cnblogs.com/baimulan/p/10230868.html

时间: 2024-07-29 22:08:31

前端项目代码结构的管理的相关文章

项目代码结构

1.maven项目模块结构 ${project}-core包描述一些基本核心代码和公共类,由于包划分较细,包括enums,constants,utils ${project}-interface包定义接口,接口分为两种,一种对内${project}-interface-local,一种对外${project}-interface-remote ${project}-service包本地接口的实现 ${project}-publish包对外接口的实现

跟我学框架开发-项目代码结构2

我的项目结构图,当前项目是.NETCore的,是把之前的ASP.NET MVC框架作了升级转换的(升级之后,只有PlainElastic.Net不支持,已在开源代码上重写) 前端:XSpots 是个单纯的html库, 1.包括jqeury组件+CSS+图片, 2.还有Vue组件 3.再就是框架的组件 4.动态的Razor模板文件,.NetCore目前是把.cshtml文件打包到DLL里的,由于框架要实现动太cshtml文件支持,所以作了一重处理,支持动态编译cshtml文件

maven生成代码结构时XmlPullParserException异常

在使用maven eclipse:eclipse生成Eclipse项目代码结构时,遇到如下Warning提示信息: [WARNING] could not read workspace project from:E:\JavaSpace\webapi-maven org.codehaus.plexus.util.xml.pull.XmlPullParserException: only whitespace content allowed before start tag and not \u9

百度Baidu EFE team的前端规范——项目目录结构规范

项目目录结构规范 简介 该文档主要的设计目标是项目开发的目录结构保持一致,使容易理解并方便构建与管理. 编撰 李玉北.erik.黄后锦.王杨.张立理.赵雷.陈新乐.刘恺华. 本文档由商业运营体系前端技术组审校发布. 要求 在本文档中,使用的关键字会以中文+括号包含的关键字英文表示:必须(MUST).关键字"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT"

使用mini-define实现前端代码的模块化管理

这篇文章主要介绍了使用mini-define实现前端代码的模块化管理,十分不错的一篇文章,这里推荐给有需要的小伙伴. mini-define 依据require实现的简易的前端模块化框架.如果你不想花时间学习require.js,也不想翻看长篇的cmd/amd规范,那么这个mini-define就是你不错的选择.如果你之前用过sea.js或require.js那么mini-define更加高效,更加轻量,更加易用.项目地址:github 用法 首先定义模块 定义模块 一:定义模块用define函

前端项目模块化的实践2:使用 Webpack 打包基础设施代码

以下是关于前端项目模块化的实践,包含以下内容: 搭建 NPM 私有仓库管理源码及依赖: 使用 Webpack 打包基础设施代码: 使用 TypeScript 编写可靠类库 (实现中) 本文是关于前端项目模板化的第2部分 现状 实际项目远远比示例使用的 myGreeting 复杂,比如 为了提高可维护性我们将项目折成了许多功能模板: 我们希望使用 Promise 等语法等,但是顾忌目标环境的支持能力: 可能依赖了多个第三方类库: 为了提高加载速度我们打包时需要进行很多额外工作: 代码压缩: Tre

团队开发前端VUE项目代码规范

团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658 一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致的代码 二.开发SRC目录: 1.Vuex目录 (状态树配置) 2.Router目录(路由配置) 3.Pages目录 (放置主路由组件 注意命名规范) 4.Common目录 (放置静态文件) 5.Config目录 (全局配置项,路由拦截,报错信息,等枚举信息) 6.Api目录 ( 相关全局请求调用配置.

基于Maven管理的JavaWeb项目目录结构参考

通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个人体会: 项目目录结构一旦约定和规范之后,每个团队成员自我约束和遵守规范才是整个目录结构不随项目的进展而变得越来越不清晰的根本.

使用git和github管理项目代码

以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下来继续使用. 我这里简单的记录一下我使用的过程,最简单的使用都是,高级的功能我一直没有使用到,虽然买一本<Git权威指南> 但是很多东西用不到就不能够真的会.下面开始简单介绍我使用的方法,我这个是在windows上使用的.我使用分两种情况, 因为我的代码都是在Linux下写的,所以在linux下主