热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

运用princecli,轻松构建高性能ReactSPA项目~

prince-cli疾速指南这是一个为疾速建立SPA所设想的脚手架,旨在为开辟人员供应简朴范例的开辟体式格局、效劳端环境、与靠近native运用的体验。运用它你能够取得下面这些轻易
prince-cli 疾速指南

这是一个为疾速建立SPA所设想的脚手架,旨在为开辟人员供应简朴范例的开辟体式格局、效劳端环境、与靠近native运用的体验。运用它你能够取得下面这些轻易

  • 疾速最先编写react spa页面,在浏览器对react组件打断点调试
  • 浏览器及时革新,控制台、redux-devtools可随时检察状况
  • 模仿ajax、jsonp要求与webSocket音讯,实在效劳端环境
  • 具有相似native的翻页路由,且革新页面reducer会缓存状况不会丧失

现在此脚手架由我个人设想搭建保护,并不断完善中,迎接issues

运用体式格局

  1. 装置node.js(v8.0.0+)以及对应版本npm
  2. 在须要建立项目的途径翻开cmd命令行
  3. 实行 npm install prince-cli -g 全局装置prince-cli
  4. 实行 prince new myApp 新建react SPA项目(myApp为新项目名,可随便变动)
  5. 进入项目途径 cd myApp
  6. 实行 npm install 拉取项目依靠包
  7. 实行 npm run dev 启动开辟环境
  8. 开辟完成实行 npm run build 打包宣布

《运用prince-cli,轻松构建高性能React SPA项目~》

开辟范例

########### myApp项目构造 ###########
├── mock
│ ├── mock.api.js // rest要求接口
│ ├── socket.api.js // websocket接口
│ └── data
│ ├── mockData.js // rest要求mock数据
│ └── socketData.js // websocket推送mock数据
├── src
│ ├── action // 事宜
│ ├── assests // 静态文件
│ ├── component // 组件
│ ├── less // 款式
│ ├── reducers // 状况治理
│ ├── route // 路由
│ └── service // 要领
├── entry.js // 进口
├── package.json // npm设置
├── postcss.config.js // postcss设置
├── server.js // 当地效劳端
├── temp.html // 模板
└── webpack.config.js // webpack设置

  • 在最先之前,你须要先相识react,redux,redux-router4,less的也许运用要领,请查阅官方文档。
  • service观点并不属于react原始系统,浅显来说就是将页面组件的营业逻辑抽离到一个自力的类,防止在component里做过量的逻辑处置惩罚,component仅挪用service的要领,拿到数据并render衬着。
  • 在action、reducers、service中都有大众的common文件夹,抽出每一个页面组件都须要运用的要领(在这些大众的类里包含了一些socket音讯定阅、fetch要求、redux当地缓存中间件的封装,能够依据营业需求增减)。
  • server.js 对模块举行了打包,监听文件变动革新等功用,建立了3个效劳,分别为静态资本效劳:http://localhost:4396(用于代办当地资本,与自革新浏览器);rest要求效劳:http://localhost:4397(用于接收ajax,jsonp要求,返回mock数据);webSocket效劳:ws://localhost:4398(用于收发webSocket音讯)。一般来说不须要变动此文件
  • 详细要求接口、定阅发送webSocket音讯要领都在大众service中,且有代码演示,运用尤其轻易
  • PS:此脚手架设想目的是化繁为简,保存中心功用,减小进修本钱,适用于小规模SPA疾速开辟,没有引入eslint代码测试、单元测试等,若有须要可自行添加

《运用prince-cli,轻松构建高性能React SPA项目~》

构建模块

  • 命令行相干:commander、shelljs、git-clone等
  • 打包相干:webpack4、babel等
  • 效劳相干:koa2、browser-sync、ws等
  • 运用相干:react、redux、react-router4、less等

引荐文档

  • React中文文档:https://doc.react-china.org/
  • Redux中文文档:http://cn.redux.js.org/
  • React-Router4英文文档: https://reacttraining.com/rea…
  • Less中文文档:http://lesscss.cn/

结语

  • 除了SPA以外,效劳端路由的项目也能够基于此脚手架举行革新。除了React项目,还能够换成vue、angular项目。现在我正在对此举行封装,在prince-cli中经由历程设置化加载差别场景,差别框架的项目。
  • 关于从零搭建脚手架的历程,实在并不难题,最主要的是设想,而不是完成。大型脚手架也是基于这些模块设想,只是供应了更多的可设置功用,今后会对此方面特地举行整合分享。

prince-cli 项目地点:https://github.com/yukilzw/pr…
假如以为对你有所协助,多谢支撑 ~


推荐阅读
  • Vue应用预渲染技术详解与实践 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • 深入探索Node.js新框架:Nest.js第六篇
    在本文中,我们将深入探讨Node.js的新框架Nest.js,并通过一个完整的示例来展示其强大功能。我们将使用多个装饰器创建一个基本控制器,该控制器提供了多种方法来访问和操作内部数据,涵盖了常见的CRUD操作。此外,我们还将详细介绍Nest.js的核心概念和最佳实践,帮助读者更好地理解和应用这一现代框架。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • React项目基础教程第五课:深入解析组件间通信机制 ... [详细]
author-avatar
为谁落慕
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有