Webpack简述

devtools/2025/1/23 6:14:48/

一、为什么要构建工具

人类喜欢书写的代码以及开发方式计算机不喜欢,构建工具的作用就是让人类舒舒服服写自己喜欢的代码,然后一打包生成计算机喜欢的代码

第一个webpack自身仅仅是将我们引入的模块打包成一个文件(编译import),至于es6,ts等等的编译是引入的插件和loader做的

二、webpack的基础配置

通过js引入关系建立树,然后最终打包成一个js

webpack本地的版本和项目的版本不一样

直接输入指令,npm run dev调用会使用本地的webpack进行打包

1.打包配置命名

默认以根目录下的webpack.config.js作为入口进行打包,如果想指定文件作为入口

要用commonjs(require)的语法规范写,不能用es6(import export default)

2.mode的三个取值

  • none:直接打包,不做处理

  • 生产模式(production):压缩和简化代码

  • 开发模式(development):不会压缩和简化代码

3.基本格式

loader

三、webpack处理js

1.babel-loader的配置

npm install babel-loader @babel/core

babel-loader作为接口安装真正编译的包@babel/core

loader定义对某种类型的处理方案

2.options配置

也可以将presets配置放在.babelrc的文件中以json格式书写

3.eslint的工作

在根目录下新建一个eslintrc.js文件,用于写eslint的插件配置


http://www.ppmy.cn/devtools/152805.html

相关文章

Spring Boot AOP实现动态数据脱敏

依赖&配置 <!-- Spring Boot AOP起步依赖 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>/*** Author: 说淑人* Date: 2025/1/18 23:03* Desc…

第7章:Python TDD测试Franc对象乘法功能

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…

【开发日记】微信小程序getBackgroundAudioManager播放背景音乐提示播放失败

【问题】 小程序在手机上打开&#xff0c;播放在线音频的时候会提示播放失败&#xff0c;但打印异常提示的是src为null&#xff0c;自己在打印的时候却没问题。 并且在微信开发者工具中播放的时候也是正常的&#xff0c;只有手机上打开使用时提示异常。 【解决】 如果你的链…

如何使用 reduce() 方法对数组进行聚合计算?

数组聚合计算&#xff1a;如何使用 reduce() 方法进行数组遍历和聚合&#xff1f; 在 JavaScript 中&#xff0c;reduce() 方法是数组遍历和聚合计算中非常强大的工具。它通过遍历数组中的所有元素&#xff0c;将数组中的每个元素逐步汇总成一个单一的输出值&#xff08;如数值…

Spark任务提交流程

当包含在application master中的spark-driver启动后&#xff0c;会与资源调度平台交互获取其他执行器资源&#xff0c;并通过反向注册通知对应的node节点启动执行容器。此外&#xff0c;还会根据程序的执行规划生成两个非常重要的东西&#xff0c;一个是根据spark任务执行计划生…

python基础语句整理

Python是一种广泛使用的高级编程语言&#xff0c;以其简洁易读的语法而著称。以下是Python中的一些基础语句和概念&#xff0c;适合初学者了解&#xff1a; 1. 变量赋值 在Python中&#xff0c;变量用于存储数据值。变量名可以包含字母、数字和下划线&#xff0c;但不能以数字…

flutter入门系列教程<一>:tab组件的灵活妙用

文章目录 说明区分TabBarView组件TabBarViewTabBar实例 需求升级写在中间的tabbar组件封装组件组件说明组件用法示例 常规的tabbar封装常规用法 说明 前提&#xff1a;假设你已初步了解了flutter和dart语言&#xff0c;并且知道怎么创建一个简单的项目&#xff1b; 学习本文后…

代码随想录算法【Day29】

Day29 134. 加油站 暴力法 遍历每一个加油站为起点的情况&#xff0c;进行模拟 class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {for(int i 0; i < cost.size(); i){ //以谁为起点int rest gas[i] - cos…