快速入门
1  | mkdir webpack-demo  | 
新增两个文件
1  | webpack-demo  | 
1  | 
  | 
1  | import _ from "lodash";  | 
执行打包命令
1  | npx 类似package.json中的scripts,可直接运行  | 
也可以在 package.json 中新增 script,
1  | {  | 
那么我们可以直接使用如下命令进行打包
1  | npm run build  | 
当不指定配置文件时,就使用了默认的配置(npx webpack --config webpack.config.js)
1  | const path = require("path");  | 
如需要指定配置文件,可在 package.json 中指定相关配置文件
命令成功执行后,就会将所有文件打包到 dist 目录,我们打开 index.html,如果一切正常的话,我们可以在浏览器上看到Hello webpack字样
我们可以使用npx webpack serve启动 web 服务,默认会在 8080 端口上启动
1  | npm i webpack-dev-server -S -D  | 
加载其他资源文件
webpack.config.js 中的配置,在 module 对象的 rules 属性中可以指定一系列的 loaders,每一个 loader 都必须包含 test 和 use 两个选项,这段配置的意思是说,当 webpack 编译过程中遇到 require()或 import 语句导入一个后缀名为.css 的文件是,先将它通过 css-loader 转换,在通过 style-loader 转换,然后继续打包。use 选项的值可以是数组或字符串,如果是数组,它的编译顺序是从后往前
修改一下项目结构
修改dist/index.html
1  | <!doctype html>  | 
修改webpack.config.js
1  | const path = require('path');  | 
导入 css 文件
1  | npm install --save-dev style-loader css-loader  | 
修改webpack.config.js
1  | const path = require('path');  | 
新增src/style文件
1  | .hello {  | 
修改src/index.js
1  | import _ from 'lodash';  | 
1  | npx webpack serve --config webpack.config.js  | 
导入图片
1  | npm install --save-dev file-loader  | 
1  | const path = require('path')  | 
新增图片src/icon.png 修改src/index.js
1  | import _ from "lodash";  | 
修改src/style.css
1  | .hello {  | 
导入数据
1  | npm install --save-dev csv-loader xml-loader  | 
webpack.config.js
1  | const path = require('path');  | 
增加一些数据
src/data.xml
1  | 
  | 
src/data.csv
1  | to,from,heading,body  | 
src/index.js
1  | import _ from 'lodash';  | 
类似的数据文件还可以使用
src/data.toml
1  | title = "TOML Example"  | 
src/data.yaml
1  | title: YAML Example  | 
src/data.json5
1  | {  | 
需要安装相关插件
1  | npm install toml yamljs json5 --save-dev  | 
输出管理
通过 html-webpack-plugin自动生成 index.html,并引入相关资源 通过 clean-webpack-plugin 自动清理 dist 目录
1  | npm install --save-dev html-webpack-plugin  | 
示例
src/print.js
1  | export default function printMe() {  | 
src/index.js
1  | import _ from 'lodash';  | 
webpack.config.js
1  | const path = require('path');  | 
统一输出 css 文件
1  | npm install --save-dev mini-css-extract-plugin  | 
webpack.config.js
1  | const { CleanWebpackPlugin } = require('clean-webpack-plugin')  | 
重新编译后在 dist 目录下生成了 main.css,且 index.html 中引入了 main.css
1  | npm run build  |