百度开源创建 React 项目脚手架 reSKRipt

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

前段时间在公司内部大会,有一位非常厉害的前端同学分享了一个创建 React 项目的脚手架工具 reSKRipt,今天按文档跑了下整个流程,确实不错,如果在团队内部能够结合自己的业务做一个类似脚手架,在项目比较多的情况下,会大大提升研发效率。

去年的时候,我也写了一个脚手架,不过和这个对比了下,我的还有很多不足,仍有很大的提升空间。reSKRipt 考虑了一个新项目该有的「设施」,比如打包配置、单元测试、样式、资源文件、本地调试、部署、代码规范、webworker 使用等,旨在快速(3分钟左右)地创建一个设施齐全的 react 项目。

社区里已经有了 create-react-app,为啥还要造轮子,作者也给出了他的思考(下面是原话):

社区中的 create-react-app 提供了最基础的开发体验,而 reSKRipt 则在此基础之上加了一些独特的能力和更多的约束,在此例举一些主要的:

  • 更严格地挑选 Babel 插件:我们曾经在 bind operator 标准上吃过不小亏,从此以后便开始避免无脑地使用 stage-0 来进行转义,精细地挑选当前的插件,选择更为成熟且比较确定会持续演进最终进入规范的部分。

  • 默认 CSS Modules:所有的 .less 和 .css 文件均经过 CSS Modules 处理,仅有 .global.{less,css} 被排除在外,这能够更好地控制样式的隔离,更符合一个严谨的工程开发模式。

  • 样式被转化为函数:对于样式文件,在引入后会变成一个函数,比如:import c from './index.less' 后可以使用 c('text', {'size-small': props.small}) 这样的形式生成元素的className,内部基于 classnames 实现。

  • SVG组件化:可以通过 import {ReactComponent} from './icon.svg' 将 SVG 转化为组件,这与 create-react-app 提供的能力相似,但 reSKRipt 使用了自定义的 loader 来实现这一功能,具备更好的转换性能。

  • 严格的代码检查规则:基于百度内部的编码规范,使用 @ecomfe/eslint-config 和 @ecomfe/stylelint-config 的严格规则做检查,并在此基础上增加了一系列自己的规则,代码检查远比社区更加严格。

  • 自动添加组件名称:所有组件都会自动加上 displayName 属性,无论是以 function、const 还是 export default 定义,都能很好地识别出来并自动的推导最合适的组件名称。

  • 追求更新的框架版本:仅支持 react@17 和 webpack@5,并且我们在未来也将以最快速度跟进框架的最新版本,不断淘汰对旧版本的支持,以此让业务紧密跟随社区的发展。

因此,使用 reSKRipt 可能会一定程度上约束你的开发模式,它并不一定适用于所有的应用,但我们有信心在开发模式契合的情况下为你大幅度提升开发效率。

看完整个项目,我也有了一些启发,能够把项目中的一些工程化的东西交给统一的工具去处理,这样对于后续项目升级会减少不少工作量。无论你用不用该脚手架,我建议你可以读一读该项目的官方文档,会给你不少启发。

大家加油!

长按关注

素燕《前端小课》

帮助 10W 人入门并进阶前端

官网:https://lefex.gitee.io/

react 仿百度客户端 一个react项目 (习一门前端框架,不动手是不行的。所以当我学习react有一段时间时,就打算开始写一个react的个人项目 立即下载

相关推荐

详细介绍:国产操作系统银行麒麟V10的下载和安装

银河麒麟是由。银河麒麟已经发展为银河麒麟服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云、操作系统增值产品为代表的产品线。为攻克中国软件核心技术“卡脖子”的短板,银河麒麟建设自主的开源供应链,发起中国首个开源桌面操作系统根社区openKylin,银河麒麟操作系统以openKylin等自主根社区为依托,发布最新版本。

lz17267861157的博客 1万+

reskript:为React开发加速的命令行工具套件

reskript:为React开发加速的命令行工具套件 项目介绍 reskript 是一个基于 React 与 Ant Design 开发的命令行工具套件,旨在为开发者提供一整套集成的开发工具,涵盖代码检查、单元测试、构建、代码转义和本地调试等功能。通过使用 reskript,开发者可以专注于业务开发,而无需过多关注工具的配置与选择。 项目技术分析 reskript 采用了以下关键技术栈: Re...

gitblog_00132的博客 349

第3.4章 机器人第三方库实战总结(四):G2O优化库从入门到实战(附SLAM实例代码)

自定义边同样是满足复杂应用需求的重要手段。自定义边时,需要明确边所连接的顶点类型以及边所表示的误差项的计算方式。假设我们要定义一条边,用于约束两个上述自定义顶点之间的相对位姿和传感器偏移量关系。我们可以这样定义边类:public:// 计算误差// 计算雅可比矩阵// 读盘和存盘函数,这里暂不实现。

行知SLAM 327

开源了一个同时支持 react、vue、react组件库和普通 Typescript库的前端脚手架

Github地址NPM地址。

qq_54367693的博客 1593

React脚手架

React脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查、jsx编译、devServer…) 下载好了所有相关的依赖 可以直接运行一个简单效果 react提供了一个用于创建react项目脚手架库: create-react-app 项目的整体技术架构为: react + webpack + es6 + eslint 使用脚手架开发的项目的特点: 模块化, 组件化, 工程化 第一步,全局安装:npm i -g create-react-app

m0_45136861的博客 651

React-native脚手架探索

本文主要探讨了React Native 脚手架和Expo CLI,并对它们的特点进行了比较分析。🔧📱:适合需要原生模块能力、自定义程度更高的项目;Expo CLI:上手简单、配置少,适合快速开发和原型验证。文章还详细介绍了两者的优缺点组成部分,帮助我们更好地理解它们的适用场景。如何启动项目与运行调试;使用外部依赖包(如图标、HTTP 请求等);配置导航功能,包括:路由传参数配置使用TabBar与Drawer实现底部与侧边导航最后总结指出,本节内容是。

qq_35485206的博客 773

React-Native系列》37、 ReactNative百度地图开源组件使用

上一篇文章写了ReactNative自带的MapView,很显然不是我们想要的。 今天我们介绍一下一个开源百度地图开源组件,详细描述它的使用方法。 开源地址:https://github.com/lovebing/react-native-baidu-map    百度地图 React Native 模块,支持 React native 0.30+ 好,我

大灰狼的小绵羊哥哥的博客 2074

有没有必要上?带你 Webpack5 快速开箱!

大家一定看过很多电子设备开箱测评,今天我们也来跑一个软件新版的上手测评 —— Webpack 5!从 2017 年发出关于 v5 的投票开始,到 2019 年 10 月发布第一个 bet...

前端下午茶 1198

Redis —— redis.config配置文件

Redis启动的时候就是通过redis.config启动的 #配置文件对大小写不敏感 #单位 unit #包含 include 可以包含其他文件 #网络 network bind 127.0.0.1 00 --绑定ip protected-mode yes --保护模式 port 6379 --端口 #通用 general deamonize yes --以守护进程方式开启,默认是no pidfile /var/run/redis_6379.pid --如果以守护进程方式运行,需要制定一个pid文件

weixin_46540606的博客 659

React09——使用脚手架编程

使用create-react-app创建react应用 react脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查、jsx编译、devServer…) 下载好了所有相关的依赖 可以直接运行一个简单效果 react提供了一个用于创建react项目脚手架库: create-react-app 项目的整体技术架构为: react + webpack + es6 + eslint 使用脚手架开发的项目的特点: 模块化, 组件化,..

小白的学习路 668

开源 React 脚手架推荐

React 脚手架选择指南:Vite 系列模板(如 react-ts-vite-starter)适合追求开发速度;企业级中后台推荐 react-admin-vite-ts 或 arco-react-admin;移动端 H5 可选 vite-react-mobile-ts;内容网站优先考虑 Next.js/Gatsby;跨端开发选择 Taro。初学者可从 Create React App 入门,注重代码规范选集成测试工具链的模板。根据项目规模、技术栈和特性需求(如 SSR/TypeScript/微前端)灵活选

qq_40800519的博客 1218

React脚手架创建以及基本使用

React脚手架创建以及基本使用

qq_46026593的博客 1993

说一说React脚手架

React 是一个用于构建用户界面(UI)的 JavaScript 库,用户界面(UI)是由按钮、文本和图像等小单元内容构建而成,可以用 UI = f(x) 表达式来表示它们之间的关系,我们可以通过Create React App脚手架来快速创建一个react应用。

ljx11606的博客 1126

React脚手架搭建及创建React项目

一、Node.js 的诞生 先来聊聊 Node.js 诞生的故事,了解一下它最早的定位,以及后来定位的变化。 Node.js 是2009的时候由大神 Ryan Dahl 开发的。Ryan 的本职工作是用 C++ 写服务器,后来他总结出一个经验,一个高性能服务器应该是满足“事件驱动,非阻塞 I/O”模型的。C++ 开发起来比较麻烦,于是 Ryan 就想找一种更高级的语言,以便快速开发。 ...

王文萱的博客 9264

基于create-react-app官方脚手架搭建dva模式的项目(一)

思索良久,决定还是记录下心得体会:一个基于create-react-app官方脚手架,搭建起来的dva开发模式的react项目。 当然现今的前端市场如此强大,你可以在网络上找到你想要的任何脚手架,并且很多可以开箱即用,不可否认它们很优秀,开发它们的人或团队更值得我们竖起大拇指,为他们点赞!比较适合国人还是阿里系的一套react开发脚手架,dva-cli,antd,Umi等,当然gitHub上也有...

小记心得 1万+

搭建react脚手架

搭建react脚手架 1,安装node.js(检查安装成功 输入node -v和npm -v,成功出现版本号) 2,使用淘宝的cnpm,同时设置镜像地址(检查淘宝镜像是否安装成功 cnpm -v)   指令:npm install -g cnpm --registry=https://registry.npm.taobao.org 3,全局安装react脚手架 命令窗口输入:cnpm install -g create-react-app 4,进入我们要创建react项目的文件中,在地址栏里输入 cmd

sumimg的博客 658

熬夜准备的一个React项目升级Vite的指南

写在开头(边听歌边看效果更佳)在之前,已经很多朋友已经升级到了vite,但是大部分都是vue的项目,那么今天我们把之前webpack的react项目升级到vite!为此,为了让大家少踩坑,...

petertanjinjie的博客 869

开发 react 应用最好用的脚手架 create-react-app

1. 介绍 在开发react应用时,应该没有人用传统的方法引入react的源文件(js),然后在html编辑吧。 大家都是用webpack + es6来结合react开发前端应用。 这个时候,我们可以手动使用npm来安装各种插件,来从头到尾自己搭建环境。 比如: npm install react react-dom --save npm install babel babel-loa...

QTFYING的博客 7万+

react脚手架

react脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查、jsx编译、devServer…) 下载好了所有相关的依赖 可以直接运行一个简单效果 react提供了一个用于创建react项目脚手架库: create-react-app 项目的整体技术架构为: react + webpack + es6 + eslint + ts(可选) 使用脚手架开发的项目的特点: 模块化, 组件化, 工程化 创建并启动一个项目 第一步,全局安装:np

通俗易懂 3343

React 开发环境的搭建 (React脚手架

1. react脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查、jsx编译、devServer…) 下载好了所有相关的依赖 可以直接运行一个简单效果 react提供了一个用于创建react项目脚手架库: create-react-app 项目的整体技术架构为: react + webpack + es6 + eslint..... 使用脚手架开发的项目的特点: 模块化, 组件化, 工程化 创建项目并启动 首先windew.

weixin_44722237的博客 5656

使用 Checkstyle 检查代码风格

"一千个读者眼中有一千个哈姆雷特". "一千个开发者键盘之下, 可能有一千零一种代码风格". 背景 本文所有代码可以从 GitHub 获得. 每个开发者都会有自己喜欢的代码风格, 但当多个开发者需要协作开发一个项目的时候, 如何避免产生图中这样的"圣战"呢. Checkstyle 是一款能够帮助开发者编写遵循一定规范的 Java 代码的工具. 它默认支持 Google 的代码风格规范和 ...

weixin_34146986的博客 3795
上一篇: 还不知道 Puppeteer 的注意了,它能干大事
下一篇: 花了几个周末,新开源一个库
lefex
博客等级 码龄7年 401粉丝 361原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值