webpack
目录
入口
指示webpack使用哪个模块,来作为构建其内部依赖图的开始
在webpack.config.js
- 对象写法(可扩展性高)
|
|
2.单入口写法
|
|
描述入口对象属性
-
dependOn:当前入口所依赖的入口,必须在该入口被加载前被加载
-
runtime:运行时 chunk 的名字。如果设置了,就会创建一个新的运行时 chunk。在 webpack 5.43.0 之后可将其设为
false以避免一个新的运行时 chunk。-
runtime和dependOn不应在同一个入口上同时使用1 2 3 4 5 6 7 8 9 10module.exports = { entry: { a2: './a', b2: { runtime: 'x2', dependOn: 'a2', import: './b', }, }, }; -
runtime不能指向已存在的入口名称1 2 3 4 5 6 7 8 9module.exports = { entry: { a1: './a', b1: { runtime: 'a1', import: './b', }, }, }; -
dependOn不能是循环引用的1 2 3 4 5 6 7 8 9 10 11 12module.exports = { entry: { a3: { import: './a', dependOn: 'b3', }, b3: { import: './b', dependOn: 'a3', }, }, }
-
输出
-
使用入口(此chunk的名称)名称
1 2 3 4 5 6module.exports = { //... output: { filename: '[name].bundle.js', }, }; -
使用内部chunk id
1 2 3 4 5 6module.exports = { //... output: { filename: '[id].bundle.js', }, }; -
同时配置多个入口
1 2 3 4 5 6 7 8 9 10module.exports = { entry: { app: './src/app.js', search: './src/search.js', }, output: { filename: '[name].js', path: __dirname + '/dist', }, };
loader
使用loader告诉webpack加载css文件或者解析ts
-
首先安装loader:npm install –save-dev css-loader ts-loader
-
webpack配置
1 2 3 4 5 6 7 8module.exports = { module: { rules: [ { test: /\.css$/, use: 'css-loader' }, { test: /\.ts$/, use: 'ts-loader' }, ], }, };
配置方式
module.rules 允许在 webpack 配置中指定多个 loader,loader 从右到左(或从下到上)地取值(evaluate)/执行(execute)
|
|
plugin
插件可以携带参数,必须在webpack配置中,向plugins属性传入一个new实例。
|
|
配置
webpack的配置文件是JavaScript文件,文件内导出webpack配置对象。webpack会根据该配置定义的属性进行处理。