1.概念:
1.1 入口(entry)
module.exports = {entry:"./path/to/my/entry/file.js"}
1.2 出口(output)
const path = require("path")
module.exports = {
entry: "./path/to/my/entry/file.js",
output:{path:path.resolve(_dirname,"dist"),filename:"my-first-webpack.bundle.js"}、
},
1.3 loader
让webpack能够去处理非javascript文件(webpack自身只理解javascript)。
loder有两个目标:
1.test属性,用于标识出应该被对应的loader进行转换的某个或某些文件
2.use属性:进行转换时,应该使用哪个loader
“嘿,webpack 编译器,当你碰到「在 require()/import 语句中被解析为 '.txt' 的路径」时,在你对它打包之前,先使用 raw-loader 转换一下。”
1.4 插件[plugins]:
loader 被用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以用来处理各种各样的任务。
想要使用一个插件,你只需要 require() 它,然后把它添加到 plugins 数组中。多数插件可以通过选项(option)自定义。你也可以在一个配置文件中因为不同目的而多次使用同一个插件,这时需要通过使用 new 操作符来创建它的一个实例。
2.模式:
通过选择 development 或 production 之中的一个,来设置 mode 参数,你可以启用相应模式下的 webpack 内置的优化