Webpack学习系列(二)

218 阅读1分钟

解析ES6:babel-loader

整体过程

1. npm i @babel/core @babel/preset-env babel-loader -D

2. .babelrc配置文件


3. webpack配置文件


解析JSX:

1. npm i react react-dom @babel/preset-react -D

2. 添加如下配置: 注意presets是一系列plugins的集合,一个plugin对应一个功能


3.编写测试组件(略)

本部分已上传GitHub

4.npm run build

解析CSS:

1. npm i style-loader css-loader -D

css-loader是解析css的,style-loader是将解析的css引入<style>标签

2.编写并引入css文件

3.配置webpack:注意webpack的loader加载顺序是由后往前,顺序不能颠倒



解析less:

1. npm i less less-loader -D

改写webpack配置,添加'less-loader'

解析图片/字体:file-loader/url-loader

1. npm i file-loader -D

改写webpack配置,添加'file-loader'


url-loader:接受参数,自动进行base64转换,url-loader内部也是使用url-loader


webpack中的文件监听:发现源码发生变化时,自动重新构建新的输出文件

方法1. 启动webpack文件的时候,带上--watch参数,如在package.json中的script对象内添加 "watch":"webpack --watch" ( 缺点,每次编译完成要开发者手动刷新浏览器 )

原理:

方法2.  热更新 webpack-dev-server

WDS不断刷新浏览器,不输出文件,而是存放在内存中,以前是使用使用HotModuleReplacementPlugin插件,需要修改webpack配置文件,新版webpack不需要,只要按照以下方法即可

1. npm install webpack-dev-server --save-dev //新版webpack一定要安装

2. 在package.json中的script对象内添加 "dev":"webpack-dev-server --open"

参考链接:www.cnblogs.com/ifeil/p/990…


  1. 启动阶段 12AB
  2. 文件变化:1234


方法3. webpack-dev-middleware

WDM将webpack输出的文件传输给服务器适用于灵活的定制场景