脚手架解决的问题

如果只是开发较小的前端 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)

React 脚手架使用相关推荐

  1. React学习笔记3:React脚手架

    使用create-react-app创建react应用 react脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查.jsx编译.devServe ...

  2. React脚手架搭建及目录结构介绍

    react脚手架(create-react-app)搭建 npm install -g create-react-app create-react-app todolist (文件夹名) npm st ...

  3. 基于React脚手架集成Cesium

    基于React脚手架集成Cesium 文章目录 基于React脚手架集成Cesium 1. 安装环境 2. 创建项目 3. 引入Cesium 4. 修改文件 5. 参考链接 1. 安装环境 安装Nod ...

  4. react 引用本地js_从零配置webpack 4+react脚手架(二)

    前言: 你可能也注意到了,html文件中的关于js的引用是我们手动写的,那假如我们改了输出路径或打包编译之后的文件名,那我们岂不是还要手动去修改html文件中的引用?我们怎么做到,像create-re ...

  5. react 文件 md5_从零配置webpack 4+react脚手架(二)

    前言: 你可能也注意到了,html文件中的关于js的引用是我们手动写的,那假如我们改了输出路径或打包编译之后的文件名,那我们岂不是还要手动去修改html文件中的引用?我们怎么做到,像create-re ...

  6. react打包后图片丢失_React系列四 - React脚手架

    一. 认识脚手架 1.1. 前端工程的复杂化 如果我们只是开发几个小的demo程序,那么永远不需要考虑一些复杂的问题: 比如目录结构如何组织划分: 比如如何管理文件之间的相互依赖: 比如如何管理第三方 ...

  7. 偶然发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便

    发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便 Moderate,意思为适中的,适度的,用这个作为代号,主要取决于他的本名"中用",其一以贯之的想法就是中 ...

  8. React脚手架学习笔记

    一.前端工程的复杂化 如果我们只是开发几个小的demo程序,那么永远不需要考虑一些复杂的问题: 比如目录结构如何组织划分: 比如如何管理文件之间的相互依赖: 比如如何管理第三方模块的依赖: 比如项目发 ...

  9. 【Recat 应用】之 React 脚手架

    Visual Studio Code 安装 React 插件 ES7 React/Redux/GraphQL/React-Native snippets 插件 使用 create-react-app ...

  10. React脚手架案例

    React脚手架 一 初始化 react 脚手架 需要理解的概念有: 脚手架的作用是什么 脚手架的支持技术是什么?webpack(入口.出口.加载器.模式.插件) 脚手架将会做哪些工作 JSX的预解析 ...

最新文章

  1. JAVA之间的引用传递
  2. python【Pandas科学计算库】连女朋友都会用的Pandas(真の能看懂~!)
  3. 使用python制作神经网络——搭建框架
  4. Visual Basic 兴衰记
  5. android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用...
  6. 5分钟入门Lindorm SearchIndex
  7. 关于Zookeeper的几个问题
  8. python toimage函数 -baijiahao_财码Python管理会计小实验成本性态分析So Easy
  9. xml xsd java
  10. 用pcl读ply文件_一分钟详解PCL中点云配准技术
  11. hihoCoder太阁最新面经算法竞赛17
  12. mysql占用大量写i o_Mysql占用大量写I/O
  13. sony android 计算器,NeoCal 全能计算器 V2.0.2
  14. 手把手教你如何获得光学成像系统的PSF(点扩散函数)——从beads成像到处理图像的经验分享
  15. 《密码编码学与网络安全》和《现代密码学》PDF
  16. 用户分享率高达87% KilaKila恋爱小程序的女性营销逻辑
  17. 微信号名称乱码什么情况_微信号可以改了但却不知道改什么?
  18. 以世界杯为主题的营销活动|运营策略
  19. Eggjs笔记:egg-mongoose插件的集成,crud操作, 多表关联查询
  20. 智慧城市UE4 奥特曼教程

热门文章

  1. MDM授权管理设计方案
  2. 【用友凭证打印】自定义纸张尺寸对照表
  3. 全国各地网吧网管技术QQ群
  4. Unity 制作一个网格地图生成组件
  5. 学习开源硬件:开源IP,开源RISC-V与开源SoC等
  6. 自动化测试框架cucumber_10分钟学会 Cucumber+Watir 自动化测试框架
  7. 在RedHat Linux下安装惠普磁带机(转)
  8. csdn下载分获取方法
  9. Linux 各类软件整理汇总
  10. 晕晕沉沉的一天,ISAPI_Rewrite 2.9破解版竟然是假的