Webpack
第 1 章:webpack 简介
1.1webpack是什么
webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。
在weboack看来前端的所有资源文件(js/json/css/img/less/…)都会作为模块处理.
它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。
1.2 webpack 五个核心概念
- Entry
入口(Entry)指示 webpack 以哪个文件为入口起点开始打 包,分析构建内部依赖图。 - Output
输出(Output)指示 webpack 打包后的资源 bundles 输出到哪里去,以及如何命名。 - Loader
Loader 让 webpack 能 够 去 处 理 那 些 非 JavaScript 文 件 (webpack 自 身 只 理 解JavaScript) - Plugins
插件(Plugins)可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量等。 - Mode
模式(Mode)指示 webpack 使用相应模式的配置。
第2章: webpack的初体验
2.1 初始化配置
- 初始化 package.json
输入指令: npm init - 2.下载安装webpack
输入指令:
npm install webpack webpack-cli -g 全局安装
或
npm install webpack webpack-cli -D 局部安装
2.2编译打包应用
-
创建文件
-
运行指令
- 开发环境指令:
webpack ./src/index.js -o ./builde//(不写文件名的话默认是main.js)
–mode=development
-
功能:webpack 能够编译打包 js 和 json 文件,并且能将 es6 的模块化语法转换成浏览器能识别的语法。
-
生产环境指令:
webpack ./src/index.js -o ./builde/(不写文件名的话默认是main.js)
–mode=production
功能:在开发配置功能上多一个功能,压缩代码。
注意:生产环境打包会出现一个小问题,也不能算是问题…,由于现在使用的是webpack
5版本的,所以生产环境打包完以后会把没有用的都简化掉,只留一个结果,这是与webpack4之间的不同
- 结论
webpack 能够编译打包 js 和 json 文件。
能将 es6 的模块化语法转换成浏览器能识别的语法。能压缩代码。 - 问题
不能编译打包 css、img 等文件。
不能将 js 的 es6 基本语法转化为 es5 以下语法。
第3章: webpack开发环境的基本配置
3.1 创建配置文件
- 创建文件 webpack.config.js
- 配置内容如下
// resolve 用来拼接绝对路径的方法
const {
resolve} = require('path')
module.exports = {
// webpack配置
// 入口起点
entry:'./src/index.js',
// 输出
output: {
// 输出文件名
filename:'built.js',
// 输出路径
//__dirna