当前位置: 首页>編程日記>正文

React 脚手架使用

React 脚手架使用

脚手架解决的问题

如果只是开发较小的前端 demo,那没必要使用脚手架工具(Scaffold)

但是如果开发大型前端项目,尤其多人共同开发时就需要面对以下问题:

  • 目录结构如何组织划分
  • 如何管理文件之间的相互依赖
    • 比如通过模块化方式将 JavaScript 编写在众多文件中,如何管理它们之间的相互依赖
  • 如何管理第三方模块或第三方库
  • 项目发布前如何压缩、打包项目
  • 如何将 less、sass 等语言转换为可被浏览器正常解析的 css

为解决上述问题,对应出现一系列工具,通过配置 babel、webpack、gulp 等工具完成语言转换、打包依赖、热更新等一系列问题,而脚手架可以认为是上述工具的集合体。

脚手架优点

脚手架可以快速生成项目的工程化结构。

虽然每个项目最终呈现的效果不同,但是其基本的工程化结构式相似的。基于此,完全可以使用一些
工具,帮助生成基本的工程化模板,避免每次费神费力地从零搭建项目。

在此工程化模板的基础上,针对不同的项目可以进行不同的项目配置与项目构建,间接保证项目的基本结构一致性,方便后期的项目维护。

总结:使用脚手架工具可以使项目流程(从搭建到开发,再到部署)变得快速、便捷。

前端脚手架

现在流行的三大框架都有属于自己的脚手架:

  • React:create-react-app
  • Vue:vue-cli
  • Angular:angular-cli

共同作用:帮助生成一个通用的目录结构,帮助配置开发所需的工程环境。

注:目前这些脚手架均由 node 编写,并且基于 webpack,所以需要 node 环境。

create-react-app 生成目录结构

my-app
├── README.md // readme 说明文档
├── node_modules // 项目依赖文件
├── package.json // 对整个应用的描述:应用名称、版本号、项目的启动和打包脚本等
├── .gitignore // Git 忽略提交规则
├── public
│   ├── favicon.ico // 应用程序顶部的 icon 图标
│   ├── index.html // 应用的 index.html 文件
│   └── manifest.json // web app 配置相关
└── src├── App.css // App 组件相关样式├── App.js // APP 组件代码文件├── App.test.js // APP 组件的测试代码文件├── index.css // 全局样式文件├── index.js // 整个应用程序的入口文件├── logo.svg // 页面呈现的 React 图标└── serviceWorker.js // 提前写好的注册 PWA 相关代码└── setupTests.js // 测试初始化文件

除以上文件,你有可能看到以下文件:

  • logo192.png:在 manifest.json 中使用
  • logo512.png:在 manifest.json 中使用

了解 PWA

PWA(Progressive Web Apps,渐进式 Web 应用)运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序。

PWA 即是一个网页,需要通过 Web 技术实现一个网页应用,辅以 App Manifest 和 Service Worker 实现 PWA 的安装和离线等功能,亦称之为 Web App。

PWA 解决的问题:

  • 网页可以添加至移动端主屏幕并生成图标,点击图标可以实现启动动画以及隐藏地址栏等功能
  • 实现离线缓存功能,在无网环境下,依然可以使用一些离线功能
  • 实现消息推送
  • 等一系列类似于 Native App 相关功能

了解 Webpack

三大框架的脚手架都是基于 Webpack 进行配置。

Webpack 是一个现代 JavaScript 应用程序的 静态模块打包工具(module bundler),当其处理应用程序时,会递归地构建一个包含应用程序所需的每个模块的依赖关系图(dependency graph)

Webpack 图示


https://www.fengoutiyan.com/post/15772.html

相关文章:

  • 脚手架的应用
  • react脚手架
  • react框架
  • 脚手架验收
  • vue脚手架
  • 承插式脚手架
  • 新型脚手架
  • 建筑脚手架
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機