热门标签 | 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…
假如以为对你有所协助,多谢支撑 ~


推荐阅读
  • 本文通过探讨React中Context的使用,解决了在多层级组件间传递状态的难题。我们将详细介绍Context的工作原理,并通过实际案例演示其在项目中的具体应用。 ... [详细]
  • Webpack中实现环境与代码的有效分离
    本文探讨了如何在Webpack中有效地区分开发与生产环境,并实现代码的合理分离,以提高项目的可维护性和加载性能。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 深入解析ES6至ES8的新特性与应用
    本文详细介绍了自2015年发布的ECMAScript 6.0(简称ES6)以来,JavaScript语言的多项重要更新,旨在帮助开发者更好地理解和利用这些新特性进行复杂应用的开发。 ... [详细]
  • 经过一段时间的学习与实践,我已经使用D3.js完成了一些项目。鉴于中文D3教程稀缺,而英文资料虽丰富却对英语水平有一定要求,特此撰写一系列D3实战文章,旨在通过具体案例(如统计数据可视化、地图信息展示等)分享D3的使用技巧,促进技术交流。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • GIMP 2.99.2 发布:UI 采用 GTK3 实现、原生支持高分屏和 Wayland
    开源项目评选最后一周,手里的5票再不用就没用了https:www.oschina.netprojecttop_cn_2020GIMP2.99.2已发布,同时这也标志着GIMP3.0的到来,其中最显著的变化是从GTK2过渡到GTK3工具包。基于 ... [详细]
  • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 本文由「Vue虚拟实验室」的成员effort撰写,深入探讨了Vue CLI 3.0创建项目后的配置细节,特别是如何通过配置代理解决开发环境中的跨域问题。 ... [详细]
  • 收割机|篇幅_国内最牛逼的笔记,不接受反驳!!
    收割机|篇幅_国内最牛逼的笔记,不接受反驳!! ... [详细]
  • 本文档介绍了在使用GitLab进行数据仓库项目开发时,如何管理和维护代码版本,包括非标准gitflow工作流下的分支结构及其权限设置,以及git commit message的规范。 ... [详细]
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社区 版权所有