这几年一直对webpack的认知很碎片化,这段时间在系统的学习webpack。遂本文适合于和楼主一样对想要系统学习webpack的初级开发盆友们,建议可以跟着敲一边代码实操一下~大佬们直接可以当没看到啦。
介绍
webpack是一个JavaScript 应用程序的静态模块打包工具,把各种类型的模块打包成js
webpack只识别js和json,所以对于其他类型的模块来打包时需要先转化为webpack能识别的js或json。
基础使用
新建一个工程,同时新建基础文件src/index.js,执行npm init -y初始化。
安装
cnpm install webpack webpack-cli --save-dev
- webpack 打包工具
- webpack-cli 用来在命令行中运行 webpack 的工具
- --save-dev 等同于-D,表示只添加开发依赖
编写配置
1.新建webpack.config.js配置文件,写入内容:
// webpack.config.js
const path = require("path")
module.exports = {
entry: './src/index.js',
output: {
// 指的是当前文件所在目录下的dist目录
path: path.resolve(__dirname, 'dist'),
filename: 'main.js'
},
}
entry表示webpack 应该使用哪个模块来作为构建其内部依赖图的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。
entry的默认值是./src/index.js,可以通过配置entry属性,来指定一个(或多个)不同的入口起点。
output表示打包后输出文件的配置信息,在path中可以配置打包后的文件要写入哪个文件夹下(常见dist),filename的值表示最终输出的js的名称。
2.在src/index.js写测试内容
// src/index.js
console.log('build test')
3.修改package.json,配置build命令:
{
"name": "webpack",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"build": "webpack"
},
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0"
}
}
执行npm run build命令,打包成功
引入样式文件
src下新建index.css文件,写入样式,在index.js中引入样式文件
// src/index.css
body {
background-color: green;
}
// src/index.js
import './index.css'
执行npm run build命令打包,会发现报了下面的错误
可以看到,一个警告是没有指定mode,另一个错误是说识别不了css,需要loader处理,因为webpack只识别json和js,其他形式都不识别,所以需要一个loader来转换。详情见下篇文章