Webpack基础 | 青训营笔记

52 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天

1、什么是webpack?

Webpack是一个模块打包器(bundler)

webpack的核心功能是:

把模块化规范的代码,比如commonJS等编译成浏览器能识别的代码输出出来(也叫作前端模块化)

webpack的辅助功能是:对源代码的打包,压缩,混淆处理等。

在Webpack下, 前端的所有资源文件都会作为模块处理,每一个资源文件都是一个模块。它将根据模块之间的依赖关系进行编译,生成对应的静态资源。

webpack的配置文件是webpack.config.js

工作流程

image.png

image.png

执行webpack之后发生了什么?

它会去项目的根目录里找webpack.config.js配置文件,如果没找到会使用默认的配置文件,这个默认的配置文件是在webpack4之后才有的。默认的入口是src/index.js,默认的出口是dist/main.js。 回去找到配置文件配置的入口entry和出口output。 执行webpack的打包命令,将入口文件转化成出口文件

入口

指示 webpack 应该使用哪个模块作为主模块来构建静态资源,一般打包的时候只引入主模块,而在主模块中会引入其他的模块,这样我们就只需要打包一份主模块就够了。

Loader

Webpack只认识JS,为了处理非标准的js资源,设计出资源翻译模块——Loader用于将资源翻译为非标准的JS(如:CSS、Less)

  • Loader 本身也是运行在 node.js 环境中的 JavaScript 模块
  • 它本身是一个函数,接受源文件作为参数,返回转换的结果
  • loader 一般以 xxx-loader 的方式命名,xxx 代表了这个 loader 要做的转换功能,比如 json-loader。
  • webpack.config.js : 是一个node模块,返回一个 json 格式的配置信息对象

插件

插件可以完成一些loader不能完成的功能。一般是在 webpack 的配置信息 plugins 选项中指定。