核心概念
howcode 2022-07-18 0 webpack
# Entry 入口
指示 Webpack 以哪个文件为入口起点开始打包,分析构建内部依赖图。
module.exports = {
entry: "./src/index.js",
};
1
2
3
2
3
# Output 输出
指示 Webpack 打包后的资源 bundles 输出到哪里,以及如何命名。
const path = require('path')
module.exports = {
...
output: {
// 输出文件名称
filename: 'app.js',
// 输出文件路径
path: path.resolve(__dirname, 'dist'),
// 删除不需要的旧文件
clean: true
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# Loader 解析器
让 Webpack 能够去处理那些非 JavaScript 文件 ( Webpack 自身只理解 JavaScript )。
# Plugins 插件
可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量等。
# Mode 模式
指示 Webpack 使用相应模式的配置。
- development 开发模式:会将 process.env.NODE_ENV 的值设为 development。启用 NameChunksPlugin 和 NameModulesPlugin。特点是能让代码本地调试运行的环境。
- production 生产模式:会将 process.env.NODE_ENV 的值设为 production。启用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 UglifyJsPlugin。特点是能让代码优化上线运行的环境。
- none:无配置
# devServer
在开发环境中,用于自动编译并自动刷新页面,方便开发过程中的调试。注:该功能只会在内存中编译打包,不会有任何文件输出,如需更新到生产环境中,还需重新打包代码。 下载
npm i webpack-dev-server -D
1
配置 在 webpack.config.js 文件中进行配置
module.exports = {
...
devServer: {
// 环境目录
static: path.resolve(__dirname,'./dist'),
// 设置 gzip 压缩,提高传输效率
compress: true,
// 设置服务器主机
host: '0.0.0.0',
// 设置端口号
port: 3000,
// 设置路由
historyApiFallback: true,
// 自动打开页面
open: true,
// 更改后自动更新
watchFiles: {
paths: [
'./*'
],
options: {
usePolling: false
}
},
// 启用热加载功能
liveReload: true,
// 启用热模块功能
hot: true
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
启动
npx webpack-dev-server
1
评论
- 表情
——暂无评论——