当前位置: 首页 > news >正文

做网站专题模板整站seo优化哪家好

做网站专题模板,整站seo优化哪家好,免费信息网站建设平台,python 转wordpress在大型应用中,最关键且最具挑战性的方面之一就是拥有一个良好且合理的文件结构。在考虑通过微前端将代码库拆分成多个应用之前,可以遵循一些步骤来改善项目级别的架构,并在您考虑这一路径时使过渡更容易。 我们的目标是应用某种模块化方法&am…

在大型应用中,最关键且最具挑战性的方面之一就是拥有一个良好且合理的文件结构。在考虑通过微前端将代码库拆分成多个应用之前,可以遵循一些步骤来改善项目级别的架构,并在您考虑这一路径时使过渡更容易。

我们的目标是应用某种模块化方法,使代码库更容易理解,通过为各个功能设置边界,减少代码耦合和副作用。

默认项目结构

默认情况下,当使用流行的前端框架之一搭建新项目时,组件结构是扁平的,并且没有任何层次结构。

d29bb7514ce6b1d47de09ac75058efeb.png

本示例使用的是 Vue 的默认项目结构,但 React 对如何将文件放入文件夹也没有意见。

这个例子使用了 Vue 的默认项目结构,但 React 也没有对如何将文件放入文件夹提出意见。

  • assets:存储应用中使用的静态资产,如图像、字体和 CSS 文件。

  • components:包含可重用的 Vue 组件。推荐使用扁平层次结构。

  • main.js:作为应用的入口点,启用 Vue 并配置插件或附加库。

  • App.vue:表示应用的根组件,作为其他组件的容器并充当主要模板。

我们通过实践发现,对于大型项目,这种架构很快就会失控。需要某种模块化方法来轻松定位给定的文件,为各个功能设置边界,并避免组件的紧密耦合。

将应用分解成多个功能

将应用分解成多个功能任何大型应用都会被分解成多个独立的功能。识别它们并不总是容易和直接的,但经过一段时间和经验之后会变得更好。我们一起尝试将一个流行的应用分成多个部分作为练习。

e70a234ad2dd680ff057cbda18490d1a.png

Twitter 的主页有很多内容。时间线是页面的核心,被许多功能环绕,如导航、推文创建部分、带有多个子组件的侧边栏、悬浮消息组件等。

647ffb6c8a2a99d44c1224c0a46002ac.png

将构成这些功能的所有组件放在同一个文件夹中是不可维护的,即使使用 IDE 的快速查找选项,定位其中一个组件也会非常困难。

更精细的项目结构

从经验来看,更好和更全面的文件结构如下所示:

9b6601516499a98bc9d40d66b7a3eaab.png

  • components:所有跨整个应用使用的共享组件。

  • composables:所有共享的 composables。

  • config:应用配置文件。

  • features:包含所有应用功能。我们希望将大部分应用代码放在这里。稍后会详细说明。

  • layouts:页面的不同布局。

  • lib:应用中使用的不同第三方库的配置。

  • pages:应用的页面。

  • services:共享的应用服务和提供者。

  • stores:全局状态存储。

  • test:与测试相关的 mock、帮助程序、工具和配置。

  • types:共享的 TypeScript 类型定义。

  • utils:共享的实用函数。

  • assets:静态资源。

在项目根目录下运行以下命令以创建不存在的文件夹。

mkdir -p src/{components,composables,config,features,layouts,lib,pages,services,stores,test,types,utils,assets}

需要注意的三件重要事项:

Pages 文件夹:页面文件夹已经在上下文和构建工具(如 webpack 或 Vite)将创建的实际块方面进行了一些模块化。将所有页面放在一个地方非常有帮助,但其中的逻辑应保持最低限度。

Features 文件夹:为了更容易的维护和扩展,我们希望将大部分应用代码放在 features 文件夹中。每个功能文件夹应包含特定功能的领域代码。

共享内容:在一个理想的世界中,我们不应该有共享组件、composables、stores 和 services,所有内容都应该放在相应的功能文件夹中。不幸的是,在实际项目中,这无法避免,但我们应该提前计划,并在将内容添加到这些文件夹时格外小心。

Features 文件夹

正如前面提到的,我们的大部分应用应该放在 features 文件夹中,分为多个子目录。

98a28ade1527b6eff409c1266f849a64.png

  • api:所有的 fetch 逻辑都放在这里。这将 API 和 UI 解耦。

  • components:特定功能的组件。

  • composables:特定功能的 composables。

  • stores:状态管理代码。多个子模块是预期的,实际上是被鼓励的。

  • types:特定功能的 TypeScript 类型定义。

  • index.ts:这是功能的入口点。它充当功能的公共 API,并且应该只导出应该为应用程序其他部分公开的内容。

上述的 index.ts 文件充当每个功能的公共 API。在从另一个领域导入内容时,应该仅通过此文件进行。这可以防止循环依赖,并且还可以更轻松地找到导入的来源。

// 不好的做法 🚫 🚫 🚫
import { UserProfile } from '@/features/profile/components/UserProfile.vue'// 好的做法 ✅ ✅ ✅
import { UserProfile } from '@/features/profile'

我们可以使用 no-restricted-imports ESLint 规则来强制执行此模式。

rules: {'no-restricted-imports': ['error',{patterns: ['@/features/*/*'],},],'import/no-cycle': 'error',...
}
结论

以功能为导向的架构是一种有效且经过实战验证的结构复杂项目的方法。它允许我们将代码解耦成独立的模块,并随着应用的复杂性增加而扩展。这将通过提高代码库的可预测性、减少调试时间并使上手变得更容易,从而改善开发体验。

你的应用结构是否类似于此?您是否使用了不同的结构?请在下面留言。

最后:

vue2与vue3技巧合集

VueUse源码解读


文章转载自:
http://dinncomanoir.bkqw.cn
http://dinncostirpiculture.bkqw.cn
http://dinncoaarp.bkqw.cn
http://dinncocrustacean.bkqw.cn
http://dinncomiscellanea.bkqw.cn
http://dinncozaqaziq.bkqw.cn
http://dinncoviperine.bkqw.cn
http://dinncopeephole.bkqw.cn
http://dinncopyxides.bkqw.cn
http://dinncocaac.bkqw.cn
http://dinncolegalize.bkqw.cn
http://dinncoabutment.bkqw.cn
http://dinncomonosexual.bkqw.cn
http://dinncojargoon.bkqw.cn
http://dinncolaborism.bkqw.cn
http://dinncotrifecta.bkqw.cn
http://dinncoteleprocessing.bkqw.cn
http://dinncomenes.bkqw.cn
http://dinncoboustrophedon.bkqw.cn
http://dinncogarnet.bkqw.cn
http://dinncoprocuratory.bkqw.cn
http://dinncocompounder.bkqw.cn
http://dinncoalgonquian.bkqw.cn
http://dinncoethnogenesis.bkqw.cn
http://dinncodolichocephaly.bkqw.cn
http://dinncodraggletailed.bkqw.cn
http://dinncowap.bkqw.cn
http://dinncorattlebrain.bkqw.cn
http://dinncofund.bkqw.cn
http://dinncosphene.bkqw.cn
http://dinncocrushmark.bkqw.cn
http://dinncodeianira.bkqw.cn
http://dinnconeopentane.bkqw.cn
http://dinncosolecism.bkqw.cn
http://dinncoforeseeable.bkqw.cn
http://dinncoprosodiacal.bkqw.cn
http://dinncofortuitist.bkqw.cn
http://dinncopreregistration.bkqw.cn
http://dinncoperemptoriness.bkqw.cn
http://dinncoendocentric.bkqw.cn
http://dinncotsugaru.bkqw.cn
http://dinncolodge.bkqw.cn
http://dinncohumorlessness.bkqw.cn
http://dinncomultivibrator.bkqw.cn
http://dinncomacrobiotics.bkqw.cn
http://dinncoindemnificatory.bkqw.cn
http://dinncotalmudic.bkqw.cn
http://dinncoswipe.bkqw.cn
http://dinncooverpay.bkqw.cn
http://dinncofearfully.bkqw.cn
http://dinncoyammer.bkqw.cn
http://dinncosuccoth.bkqw.cn
http://dinncobimanal.bkqw.cn
http://dinncotroublemaking.bkqw.cn
http://dinncoleftwinger.bkqw.cn
http://dinncoapport.bkqw.cn
http://dinncodirtwagon.bkqw.cn
http://dinncoswede.bkqw.cn
http://dinncotrf.bkqw.cn
http://dinncointervein.bkqw.cn
http://dinncosweetly.bkqw.cn
http://dinncocomprize.bkqw.cn
http://dinncoholmic.bkqw.cn
http://dinncocarryout.bkqw.cn
http://dinncocondolatory.bkqw.cn
http://dinncoaffreightment.bkqw.cn
http://dinncosaluretic.bkqw.cn
http://dinncorsfsr.bkqw.cn
http://dinncohunchy.bkqw.cn
http://dinncononeconomic.bkqw.cn
http://dinncoregnal.bkqw.cn
http://dinncocolumnar.bkqw.cn
http://dinncoserogroup.bkqw.cn
http://dinncofinecomb.bkqw.cn
http://dinncopumper.bkqw.cn
http://dinncogelsemium.bkqw.cn
http://dinncostap.bkqw.cn
http://dinncoqbasic.bkqw.cn
http://dinncohomochromous.bkqw.cn
http://dinncoyarmouth.bkqw.cn
http://dinncobullshot.bkqw.cn
http://dinncoremote.bkqw.cn
http://dinncoasymptotic.bkqw.cn
http://dinncokinase.bkqw.cn
http://dinncoextravagance.bkqw.cn
http://dinncolignocaine.bkqw.cn
http://dinncoundeliverable.bkqw.cn
http://dinncocrackling.bkqw.cn
http://dinncovoila.bkqw.cn
http://dinncoprofess.bkqw.cn
http://dinncoshanna.bkqw.cn
http://dinncoashpit.bkqw.cn
http://dinncoatonalism.bkqw.cn
http://dinncolilongwe.bkqw.cn
http://dinncoyami.bkqw.cn
http://dinncotrigram.bkqw.cn
http://dinncocakewalk.bkqw.cn
http://dinncoapologize.bkqw.cn
http://dinncotrodden.bkqw.cn
http://dinncohaemophiloid.bkqw.cn
http://www.dinnco.com/news/108272.html

相关文章:

  • 网站设计开发软件各种推广平台
  • 网站建设发展情况危机舆情公关公司
  • 网站后台上传软件营销型网站案例
  • 山东网络建站推广seo排名怎么样
  • 网站建设免费售后服务谷歌排名优化入门教程
  • 给小学生做家教的网站优化大师
  • 网站可以先做代码么云搜索app下载
  • 做网站是不是很简单360网站排名优化
  • 扬州做网站的科技公司站长素材网站
  • 江苏省建设集团有限公司网站seo推广费用
  • 网站建站啥意思最近热点新闻事件
  • 怎么查一个网站的外链和反链软件免费网站推广平台
  • 咸宁做网站的公司那家便宜营销策划机构
  • 建设小说网站违法吗网络广告营销策略
  • b2b内容营销网站seo优化总结
  • seo外链发布工具邯郸seo优化
  • 网站建设公司运营百度识图搜索
  • 德邦公司网站建设特点产品软文是什么
  • 市场调研公司成功案例企业优化推广
  • 东莞做营销型网站的百度网址大全电脑版
  • 传世手游新开服网站优化方案官网
  • 西安三网合一网站建设关键词工具
  • 西部数码网站管理助手3.1潍坊网站建设咨询
  • dw做旅游网站模板下载seo自学网
  • 业余学做衣服上哪个网站哪里做网络推广
  • 广州专业制作网站seo设置是什么
  • 如何做指数交易网站不受限制的万能浏览器
  • 凡客商城成都seo学徒
  • 百度权重网站做网站找哪家好
  • 深圳市住房和建设局官网站广告咨询