前言
随着笔者工作的深入,发现webpack对于一个合格的前端工程师来说是一项很重要的技能,如果对webpack了解还不够深入,工作中或者学习中可能会遇到一些麻烦,为此笔者特意建立此文章用来记录与webpack相关的知识,并且笔者会不断更新此文章(边学边更新)。
https://juejin.im/post/5b4609f5e51d4519596b66a7
- webpack中的plugins
插件(Plugins)是用来拓展webpack功能的,它们会在整个构建过程中生效,执行相关的任务。
Loaders和Plugins常常被弄混,但是他们其实是完全不同的东西:Loaders是在打包构建过程中用来处理源文件的(JSX,Scss,Less..),一次处理一个;插件并不直接操作单个文件,它直接对整个构建过程起作用。
webpack有很多内置插件,同时也有很多第三方插件,可以让我们完成更加丰富的功能。插件目的在于解决 loader 无法实现的其他事。 - webpack中的resolve, resolveLoader
Webpack 在启动后会从配置的入口模块出发找出所有依赖的模块,Resolve 配置 Webpack 如何寻找模块所对应的文件。 Webpack 内置 JavaScript 模块化语法解析功能,默认会采用模块化标准里约定好的规则去寻找,但你也可以根据自己的需要修改默认的规则。
resolveLoader相当于是针对webpack Loader 的单独 resolve 配置,做用和resolve一样,但只作用于webpack loader
webpack中的loader
loader是一种打包的方案,webpack默认只识别js结尾的文件,当遇到其他格式的文件后,webpack并不知道如何去处理。此时,我们可以定义一种规则,告诉webpack当他遇到某种格式的文件后,去求助于相应的loader。webpack中的module
module 配置如何处理模块 loader就是在里面配置webpack中的entry,output
用来配置打包入口和打包后的文件webpack中的optimization
用来代码优化的webpack中的devServe
用于配置服务信息 (webpack-dev-server命令来启动)webpack中的node
这些选项配置是要填充还是模拟某些Node.js全局变量和模块。这使最初为Node.js环境编写的代码可以在其他环境(例如浏览器)中运行。