前端模块化,基础组件和业务组件的区分

前言

最近做的项目整个感觉就很混乱,经常性的c+v,个人认为写代码就必须拥有很强的复用性,最近思考了许久,当前我们做的项目最缺少的就是模块化,及业务和基础的区分。

模块化是一种思想, 是将大工程拆成小的模块分治的思想.

日常理解的模块化个人认为好比是工厂里的流水线,每一条流水线都有它各自的职责,
好比写function一样一个功能一个函数,可每个模块之间又有共同的地方,这就是后头的组件化了。

由于当前项目使用的是angular,所以接下来的都是基于angular来说的。现今的各种框架大多都是SPA(single-page application),都是通过路由去加载相应的页面,我首先要说的就是依据路由来很好的区分各个板块,也更好的区分业务组件及基础组件。举个列子:
在这里插入图片描述

这是项目中大概的几个模块,我当前的路由也是按照当前的几大板块去区分的,而页面我们又为了简洁易于编写代码,将代码又拆分成了多个组件,而有个问题就在于当前所有的组件并未区分,有些组件是所有板块都要用的,有些是只有某一个板块才需要用到的。所有板块都可能用到的就称之为基础组件,而某个板块下用到的称之为业务组件。而我们日常module都会使用到懒加载预加载或是直接在页面加载的时候就直接加载。我们当前的项目对业务及基础的概念就很混淆,都是很随意的加载。这样肯定是不对的,导致现在几乎全部的东西都是全部一次性加载进来了,就失去了模块化的意义了。
而业务组件和基础组件的区分应该设计及开发初期就应该确认好的,而不是等到开发过程中或开发完了之后去优化,后期优化会遇到很多问题。比如代码合并问题、多人开发导致的问题等
还有就是css的基础及业务的区分,我们现在所有的css都是按照组件写的,完全没有这两者的区分,这是我们当前项目的大问题,有通用的样式的很多时候都是直接import文件进来,导致打包之后很多重复的内容。

总结

将css,和组件做出基础及业务的区分, 而组件的加载随着模块化去加载。有什么不对请大神们广提意见…

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源是一个基于Spring Boot和Vue.js的网上书城系统项目,它实现了前后端分离的架构。以下是对该项目的详细介绍: 1. **技术栈**: - 后端采用Java语言开发,利用Spring Boot框架处理业务逻辑和数据持久化。 - 前端使用Vue.js框架,搭配ElementUI组件库,实现用户界面和交互操作。 - 使用Axios进行HTTP通信。 - 数据库选用MySQL,确保了数据的稳定存储和高效访问。 2. **功能模块**: - 首页推荐:根据用户的购买历史或商品销量进行智能推荐。 - 轮播图管理:动态展示最新书籍或活动信息。 - 商品管理:包括书籍的添加、修改、删除和查询等功能。 - 订单管理:处理用户下单、支付和订单跟踪等流程。 - 购物车:用户可以将商品添加到购物车,并进行结算。 - 商品评论与点赞:用户可以对购买的书籍进行评价和点赞。 - 商品收藏:用户可以收藏喜欢的书籍以便后续购买。 - 公告管理:发布网站通知和更新信息。 - 权限控制:区分管理员和普通用户的不同权限,保障系统安全。 3. **开发与运行环境**: - 推荐使用Java JDK 1.8作为开发和运行环境。 - 适合的IDE环境包括IntelliJ IDEA、Eclipse和MyEclipse。 - 硬件环境建议为Windows 7/8/10或Mac OS,至少1G内存以上。 - 数据库推荐使用MySQL 5.7/8.0版本。 - 项目是一个Maven项目,便于依赖管理和项目构建。 综上所述,这个网上书城系统项目不仅为用户提供了丰富的功能,还注重了用户体验和系统的可维护性。它适合计算机相关专业的学生作为毕业设计或课程设计的参考,也适合需要实战练习的Java学习者。通过实际操作和使用该系统,可以加深对现代Web开发技术的理解和应用。
用到的技术亮点: 前端用到了easyUI Easyui:jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。 jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。 jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。 jQuery EasyUI有以下特点: 1、基于jquery用户界面插件的集合 2、为一些当前用于交互的js应用提供必要的功能 3、EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel({...}))和html标记方式(如:class="easyui-panel") 4、支持HTML5(通过data-options属性) 5、开发产品时可节省时间和资源 6、简单,但很强大 7、支持扩展,可根据自己的需求扩展控件 8、目前各项不足正以版本递增的方式不断完善 jQuery EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格)、treegrid(树形表格)、 panel(面板)、combo(下拉组合)等等。 用户可以组合使用这些组件,也可以单独使用其中一个。 插件列表如下:(主要用到了以下插件) 系统主要运用在:在系统的关于订单管理和用户管理页面都使用的是此框架。主要用到的是 datagrid(数据网格)这个插件。以上有操作文档 前端用到了jQuery jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。 系统主要运用在:在系统中一些分页或者样式交互事件处理中使用到了(比如地址选择框) 前端用到了ajax AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。 系统主要运用在:主要运用于系统的表单验证比如登录注册验证码以及一些需要不刷新页面的异步提交页面(在车票查询,登录注册表单验证页面使用到了,还有是一些删除操作也使用到了) 前端页面使用的jsp(Java服务端网页(一种建立动态网页的技术,Java Server Page)) JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 系统主要运用在:本系统前端页面关于与后台交互的全部使用的jsp 后端使用的MVC三层架构模式 三层架构(3-tier ar

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值