正式发布一款可cmd命令安装的React.js项目脚手架——FastReactApp

简介: 正式发布一款可cmd命令安装的React.js项目脚手架——FastReactApp

前言


今天,篇幅可能比较短,主要介绍最近这段时间开发的一款脚手架——FastReactApp。这是一款基于Parcel2 开发的React.js项目脚手架。虽然比不上正在前端界火爆的Vite以及占据稳定地位的CreateReactApp,但是基本的项目开发还是可以的。


下面我将介绍FastReactApp几点特征:


  • 对JS、CSS、HTML、文件资产等的现成支持—不需要插件。


  • 使用dynamic import()语法,它分割输出包,以便您只在初始加载时加载所需的内容。


  • 当您在开发过程中进行更改时,它会自动更新浏览器中的模块,无需配置。


  • 它使用工作进程来支持多核编译,并且有一个文件系统缓存,即使在重新启动后也可以快速重建。


  • 现在生成树震动包的源映射,并在引用未知符号时显示友好的错误消息。


  • 它对React Fast Refresh有一流的支持。它(在大多数情况下)能够在重新加载之间保持状态(即使在发生错误之后)。


我们定义FastReactApp这个名字,你会看到Fast这个单词,中文意思是“快”,那到底有多快呢?我们来检验一下。


我们先来看下初始化时安装依赖需要多长时间。


微信截图_20220506150308.png


仅仅使用了4.80s


那么,我们接下来看下热重载的时间。


微信截图_20220506150317.png


也仅仅使用了499ms,是不是觉得特别快。


这全仅仅是Parcel2 的功劳,它使用工作进程来支持多核编译,并且有一个文件系统缓存,即使在重新启动后也可以快速重建。另外,使用dynamic import()语法,分割输出包。


以下是Parcel2的官方网址,你可以查看它其他特性。


https://v2.parceljs.org/


搭建FastReactApp项目


我们首先需要安装FastReactApp,这里你需要全局安装一个为FastReactApp而生的命令脚手架FastReactCli,它可以更快地为你生成一个FastReactApp项目。


在安装之前,你需要确保你的Node版本>=12.0.0。


全局安装


npm install fast-react-cli -g


初始化项目


fast-react-cli init <projectName>


例:这里,我初始化一个名称为myreact2的项目,选择fast-react-app@1.0.1项目模板。


微信截图_20220506150326.png


然后回车,项目初始化完成。


微信截图_20220506150336.png


检测版本


fast-react-cli -v


我们目前fast-react-cli最新版本是1.1.7。


微信截图_20220506150345.png


安装项目依赖


我们使用fast-react-cli安装上了FastReactApp,我们下一步需要安装项目的依赖。 在安装之前,你需要注意以下几点:


如果你的项目需要引入图片,你需要使用@parcel/transformer-image依赖,它可以调整图像的大小、更改图像的格式和质量。为了完成这些图像转换,它依赖于图像转换库Sharp,因此,需要将几个特定的文件导入NPM缓存路径下的特定文件夹中。


  1. 获取文件


打开网址:


https://github.com/lovell/sharp-libvips/


找到两个与您的计算机环境匹配的文件,以下是两个文件,xxx代表计算机环境。


1. libvips-8.9.0-xxx.tar.gz
2. libvips-8.10.5-xxx.tar.br


darwin-x64 一般指Mac OS环境,win32-x64 一般指 Windows环境。


  1. 查找文件夹


键入以下命令以获取NPM缓存路径:


npm config get cache


获得路径后,在此_libvips这个文件夹,将符合你计算机环境的两个文件放入这个文件夹内。


至此大功告成。


如果你的项目不引入图片,你可以不用看以上内容。另外,你需要把package.json文件中的"devDependencies"属性内的@parcel/transformer-image依赖删除掉,还有项目中默认会引入图片,把相应引入图片地址的代码段删除掉即可,因为这个依赖默认是安装的。


我们默认我们项目需要它,然后我们也做完了以上需要注意的工作。那么,现在就可以安装依赖了。


npm install


微信截图_20220506150358.png


运行项目


npm run serve


微信截图_20220506150410.png


这里需要声明一点,项目默认安装了mocker-apimocker-apiREST API 创建模拟 API。 当您尝试在没有实际 REST API 服务器的情况下测试应用程序时,它会很有用。所以,使用concurrently并行地运行多个命令(同时跑前端和后端的服务)。


这里的mocker-api只有在开发环境中适用。


项目默认端口号为:3000,当然你也可以在package.json文件中修改默认配置。


"scripts": {
    "start": "parcel ./public/index.html --port 3000 --no-source-maps",
    "build": "parcel build ./public/index.html --no-source-maps",
    "api": "mocker ./mock/mocker.js",
    "serve": "concurrently \"yarn api\" \"yarn start\""
  },


--port 3000这里你可以修改端口,这行命令配置是基于Parcel 2,更多配置可以参考:


https://v2.parceljs.org/features/cli/


我们在浏览器上输入http://localhost:3000/


微信截图_20220506150423.png


项目成功启动。


发布项目


npm run build


将用于生产的应用程序生成到buildDir文件夹。它在生产模式下正确地进行反应,并优化构建以获得最佳性能。构建被缩小,文件名包含哈希。


你的应用程序已准备好部署。


FastReactApp资源


介绍完如果搭建项目了,下面,我们来看下FastReactApp给我们默认安装了那些资源依赖。


  • parcel
  • concurrently
  • mocker-api
  • eslint
  • babel-plugin-import
  • antd
  • axios
  • immutable
  • react
  • react-dom
  • react-redux
  • react-router
  • react-router-dom
  • redux
  • redux-immutable
  • redux-thunk
  • styled-components
  • web-vitals


前三项我们已经之前介绍过了,这里就不再复述了,下面,我们将挑几个代表性的资源依赖介绍下。


eslint可谓是现代前端开发过程中必备的工具了。其用法简单,作用却很大,使用过程中不知曾帮我减少过多少次可能的 bug。其实仔细想想前端开发过程中的必备工具似乎也没有那么多,ESLint 做为必备之一,值得深挖,理解其工作原理。


babel-plugin-import是一款babel插件,在编译过程中将import的写法自动转换成按需引入的方式。


antd是基于Ant Design 设计体系的 React UI 组件库,用于研发企业级中后台产品。Ant Design 2.0官网上有两句耐人寻味的话,我特别喜欢。


“Ant Design 无法保证业务产品能否成功,但是能帮助业务产品『正确的成功』或者『正确的失败』。”

“Ant Design 不但追求『用户』的使用体验,还追求『设计者』和『开发者』的使用体验。”


immutable对象是不可直接赋值的对象,它可以有效的避免错误赋值的问题。在react中,immutable主要是防止state对象被错误赋值。在Rudux中因为深拷贝对性能的消耗太大了(用到了递归,逐层拷贝每个节点)。但当你使用immutable数据的时候:只会拷贝你改变的节点,从而达到了节省性能。immutable的不可变性让纯函数更强大,每次都返回新的immutable的特性让程序员可以对其进行链式操作,用起来更方便。


styled-components有以下几点:1、样式写在 js 文件里,降低 js 对 css 文件的依赖。 2、样式可以使用变量,更加灵活。 3、使用方便,不需要配置 webpack、开箱即用。可以说做到了”All in js“。


web-vitals库是一个小型(约1K)模块化库,用于测量真实用户的所有web vitals指标,精确匹配Chrome对这些指标的测量方式,并报告给其他Google工具(例如Chrome用户体验报告、页面速度洞察、搜索控制台的速度报告)。


结语


FastReactApp官方文档网址:


https://www.maomin.club/site/fastReactApp/


微信截图_20220506150437.png


相关文章
|
4月前
|
JavaScript Unix Linux
nvm与node.js的安装指南
通过以上步骤,你可以在各种操作系统上成功安装NVM和Node.js,从而在不同的项目中灵活切换Node.js版本。这种灵活性对于管理不同项目的环境依赖而言是非常重要的。
1061 11
|
5月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
8月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7372 23
|
前端开发
React | 修改React脚手架的默认端口号?
React | 修改React脚手架的默认端口号?
345 64
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
480 2
2024年5月node.js安装(winmac系统)保姆级教程
|
JavaScript 前端开发 开发工具
从零开始使用node.js制作一个脚手架
本文介绍了如何从零开始使用Node.js制作一个项目脚手架,涵盖了脚手架的基本概念、所需准备的第三方库、项目结构的初始化、命令注册、项目创建流程及用户交互设计等内容。通过实例演示了如何利用commander、inquirer等库实现命令行工具的开发,最终完成了一个能够根据用户选择自动创建Vue或React项目的脚手架。
224 1
从零开始使用node.js制作一个脚手架
|
XML 前端开发 JavaScript
react学习笔记一:入门级小白到脚手架(create-react-app)开发项目
这篇文章是React的学习笔记,覆盖了从React的基础用法到高级特性,包括组件化、状态管理、生命周期、虚拟DOM等主题,适合React初学者参考。
391 0
react学习笔记一:入门级小白到脚手架(create-react-app)开发项目
|
前端开发 JavaScript
手敲Webpack 5:React + TypeScript项目脚手架搭建实践
手敲Webpack 5:React + TypeScript项目脚手架搭建实践
|
存储 JavaScript 前端开发
decimal.js库的安装和使用方法
【10月更文挑战第24天】decimal.js 是一个非常实用的高精度计算库,通过合理的安装和使用,可以在 JavaScript 中实现精确的数值计算和处理。你可以根据具体的需求和项目情况,灵活运用该库来解决数字精度丢失的问题。
|
前端开发 NoSQL MongoDB
React技术栈-基于react脚手架编写评论管理案例
这篇文章介绍了在MongoDB中使用sort和投影来对查询结果进行排序和限制返回的字段,通过具体的命令示例展示了如何实现这些操作。
174 6
React技术栈-基于react脚手架编写评论管理案例