构建工具承担了哪些工作?

简介: 构建工具承担了哪些工作?

前提:浏览器只认识html、css、js

在实际项目中,一般都会具备如下功能:

1、TypeScript

2、Vue/React

3、less/scss

4、语法降级:babel

5、体积优化:UglifyJS

这些文件浏览器是无法直接识别的,需要通过编译或转换成浏览器认识的样子

1、ts:如果遇到ts文件需要使用tscts转换成js代码

2、vue/react:安装vue-complier / react-complier,项目中的.vue文件或者react项目中的jsx文件转换成render函数

3、lessscss需要安装less-loaderscss-loader等编译工具

4、语法降级:babees的新语法转换成旧版浏览器可以接受的语法

5、体积优化:UglifyJS将代码进行压缩变成体积更小性能更高的文件

这些东西都需要我们手动运行,每次我们对文件进行修改保存后想要预览最新的效果,都需要重新将上面的文件全都手运行编译一遍,非常麻烦。这个时候就需要一个构建工具帮我们承担这些工作,将tec、vue-complier、less、babel、UglifyJS全都集成到一起,构建工具替我们完成,只要代码一发生变化,构建工具就会帮我们自动去编译或转换这些文件,开发者只需要关注代码即可。

构建工具承担了哪些工作?

1、直接从node_modules里引入代码、多种模块化支持(esmodule、commonjs)

终端 npm i loadsh,在html文件内直接引入loadsh会报错,因为浏览器无法识别node_modules

上面的是esmodules,使用commonjs多模块直接引入也是无法识别的

我们可以通过构建工具来进行依赖预构建,从而解决该问题。

vite依赖预构建 (点击直达👈)

2、处理代码兼容性:babel语法降级、less/ts语法转换,需要注意的是,代码的兼容性不是构建工具完成的,而是构建工具将这些语法对应的处理工具集成来自动处理)

3、提高项目性能:压缩文件,代码分割

4、优化开发体验:

  • 构建工具会帮你自动监听文件的变化,当文件变化以后自动帮你调用对应的集成工具进行重新打包,然后在浏览器重新运行(热更新)
  • 开发服务器:跨域问题,使用代理来解决跨域问题。

打包:将浏览器不认识的代码交给构建工具进行编译处理的过程叫做打包,打包完成后会返回给浏览器一个可认识的文件

构建工具可以让我们不用每次关心代码在浏览器如何运行,只需要给构建工具提供一个配置文件(该配置文件不是必须的,构建工具默认帮你配置好了),有了这个集成的配置文件以后,我们就可以在下次需要更新的时候调用一次对应的命令即可,再结合热更新,构建工具会帮我们自动处理这些编译和转换问题,开发者只需要关注代码本身的编写即可。

目录
相关文章
|
1月前
|
存储 数据可视化 项目管理
团队工作任务怎么管理?5 款实用软件推荐
在当今竞争激烈的商业环境中,高效的团队协作至关重要。一款优秀的工作任务管理系统可显著提升团队效率和项目质量。以下是五款特色鲜明的团队任务管理软件:板栗看板以其直观的看板界面和实时协作功能脱颖而出;Trello通过灵活的看板和卡片系统简化任务管理;Asana提供详细的任务跟踪和工作流程管理;Monday.com则以多样化的视图和自定义工作流程著称;Basecamp集成了项目管理、团队沟通和文件共享功能。选择合适的工具需结合团队规模、工作流程及项目类型等多方面因素,以实现最佳协作效果。
59 4
|
2月前
|
项目管理
「软件项目管理」一文了解软件项目团队计划
该文章全面介绍了软件项目团队计划的制定,涵盖人力资源规划、项目组织结构设计、责任分配矩阵(RAM)的应用、干系人管理策略及项目沟通计划的编制等多个方面,帮助项目经理有效地组织和管理项目团队。
|
3月前
|
存储 监控 项目管理
项目沟通管理
项目沟通管理
41 0
项目沟通管理
|
6月前
|
监控 安全 项目管理
项目成功秘诀:高效管理策略确保按时交付
项目成功对企业生存发展至关重要,需要明确目标和范围,运用SMART原则和设计思维确保目标与市场需求相符。通过工作分解、优先级排序管理需求,建立变更和风险管理流程。制定详细项目计划,考虑约束条件、关键节点和风险。优化团队协作,明确角色责任,建立有效沟通机制,激励团队成员。实施PDCA循环控制项目进程,关注交付和复盘,以实现高质量的项目成果。
249 1
|
6月前
|
监控
项目总延期:确保软件开发公司按时交付项目,实用方法
在当今竞争激烈的商业环境中,软件开发项目的按期交付不仅是技术实力的体现,更是保障业务连续性和客户满意度的关键。面对可能存在的项目延期风险,一套有效的预防与应对机制显得至关重要。以下是参考“东莞梦幻网络科技”软件开发公司,有哪些保障条例,保证软件开发项目能够如期交付:
|
项目管理
【项目开发计划制定工作经验之谈】
【项目开发计划制定工作经验之谈】
116 1
|
存储 缓存 资源调度
Monorepo,大型前端项目管理模式实践
阅读本文您将了解到:什么是 monorepo、为什么要 monorepo、如何实践 monorepo。
6885 50
Monorepo,大型前端项目管理模式实践
|
测试技术 开发者
从接到一个新需求到完成交付,我做了这些工作
从接到一个新需求到完成交付,我做了这些工作
从接到一个新需求到完成交付,我做了这些工作
|
运维 Ubuntu Linux
干货 | 应用打包还是测试团队老大难问题?
干货 | 应用打包还是测试团队老大难问题?
|
测试技术 API
项目交接:测试应该如何衔接
很多公司都有一些项目的交接问题存在,有从商务外包团队将项目交接给公司自建团队的,也有因为公司的一些组织架构的调整导致的项目交接。(有些公司叫项目闭环,为什么叫闭环我其实也不清楚啊,就是本来A团队在AA部门做AAA项目,调整后就是A团队在BB部门做AAA项目的一部分或者全部)
307 0