构建工具到底是什么呢? 一篇帮你搞懂

简介: 构建工具到底是什么呢? 一篇帮你搞懂


什么是构建工具

一 . 企业级别项目都可能会具备哪些功能

  1. typescript: 如果遇到ts文件我们需要tsc 将typescript代码转换为js代码
  2. React/ vue :安装react-compiler / vue-compiler, 将我们写的jsx文件或者vue文件转换为render函数
  3. less / sass / postcss/ component-style : 我们有需要安装sass-loader / less-loader / postcss-loader / component-style-loader等一系列的编译工具
  4. 语法降级 : babel ====> 将es的新语法转换为旧版本浏览器可以识别的语法
  5. 体积优化: uglifyjs ====> 将我们的代码进行压缩变成体积更小性能更高的文件
  6. ....

二. 引出问题

稍微修改一点东西,就需要重新走一边流程, 非常的麻烦

APP.tsx=>tsc=> App.jsx => React-compiler => js文件

如果有一个东西 能够把 tsc react-compiler ,less, babel uglifyjs 全部集成在一起

我们写的代码一旦发生变化, 就有人帮我们自动取tsc,react-compiler,less,babel,uglifyjs全部挨个走一遍, 然后返会js文件

三. 一个构建工具干了什么:

  1. 模块化开发: 支持直接从node_moudles引入代码 + 多种模块化开发
  2. 处理代码兼容性: 比如babel的语法降级, less,ts 语法转换(不是构建工具做的, 是构建工具将这个语法对应的处理工具集成,然后进行自动化处理 )
  3. 提高了项目性能: 压缩文件 "代码分割"
  4. 优化开发体验: 构建工具会帮你自动监听文件的变化,当文件变化之后自动帮你调用对应的集成工具重新编译打包,然后再在浏览器重新运行(整个过程叫做热更新,即hot replacement)
  5. 开发服务器: 跨域的问题,用react-cli create-react-element vue-cli 解决跨域问题

四. 总结:

构建工具他让我们可以不用每次都关心我们的代码在浏览器是如何运行的,我们只需要给构建工具提供一个配置文件(这 个配置文件也不是必须的,如果不给他,他会有默认的帮我们去处理),

有了这个集成的配置文件之后,我们就可以在下次需要更新的时候调用一次对应的命令就好了,如果我们再结合热更新,  我们就更加不需要管任何东西,这就是构建工具去做的东西.

他让我们不用关心生产的代码是如何在浏览器运行的,只需要关注我们的开发如何舒服怎么来就ok  这个东西就是构建工具


目录
相关文章
|
9月前
|
前端开发 JavaScript 开发者
React 项目用过什么脚手架(本题是开放性题目)
React 项目用过什么脚手架(本题是开放性题目)
71 0
|
前端开发 关系型数据库 开发工具
构建自己的MVC框架(Ruby语言实现)-- 第一章 从零到“它工作了!”
构建自己的MVC框架(Ruby语言实现)-- 第一章 从零到“它工作了!”
|
自然语言处理 JavaScript 前端开发
从 rollup 初版源码学习打包原理
从 rollup 初版源码学习打包原理
58 0
|
敏捷开发 XML 存储
初窥项目构建
初窥项目构建
144 0
初窥项目构建
|
缓存 前端开发 JavaScript
前端工程化的学习(偏向vite构建工具)
前端工程化的学习(偏向vite构建工具) 好早就听说了vite,也早就简单的使用并了解了一点,之前在公司实习团队也正在迁移webpack的项目到vite,但我自己却一直没有深入,毕竟还是初级前端工程师,功力还欠缺很多,但最近封装了一个小组件,整个项目不使用脚手架挺难受的,到处参考别人的代码希望能找到组件开发的最佳实践,整个过程举步维艰,所以开始先从vite入手学习一下前端工程化相关的东西了...
366 0
|
JavaScript
【Vue 开发实战】实战篇 # 44:如何高效地构建打包发布
【Vue 开发实战】实战篇 # 44:如何高效地构建打包发布
179 0
【Vue 开发实战】实战篇 # 44:如何高效地构建打包发布
|
JSON 前端开发 数据可视化
umi3源码探究简析
作为蚂蚁金服整个生态圈最为核心的部分,umi可谓是王冠上的红宝石,因而个人认为对于整个umi架构内核的学习及设计哲学的理解,可能比如何使用要来的更为重要;作为一个使用者,希望能从各位大佬的源码中汲取一些养分以及获得一些灵感
257 0
|
缓存 前端开发 JavaScript
浅浅阅读umi中InitialState插件源码
InitialState插件源码的简要介绍
704 1
浅浅阅读umi中InitialState插件源码
|
缓存 资源调度 前端开发
说一说自动化构建以及Gulp
自动化构建是前端工程化当中的一个重要组成部分,自动化就是使用机器来代替人工来完成一些工作,构建我们可以将其理解为转换。总的来说就是将我们的源代码自动转换为生产环境当中可以运行的代码或程序。一般来说我们
173 0
说一说自动化构建以及Gulp
|
存储 前端开发 JavaScript
5 分钟搞懂 Monorepo
5 分钟搞懂 Monorepo
841 0
5 分钟搞懂 Monorepo