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


推荐阅读
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • Node.js详细安装及环境配置
    1、下载安装根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包(官网:https:odejs.orgzh-cndownload).msi和.zip格式区别 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 技术周报·2021-05-07-小编推荐向现代Javascript转型原文标题:Publish,ship,andinstallmodernJavaScriptforfaste ... [详细]
  • 这篇“Webpack是怎么工作的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • Istio是一个用来连接、管理和保护微服务的开放平台。Istio提供一种简单的方式来为已部署的服务建 ... [详细]
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社区 版权所有