webpack 的核心有四个
- entry 入口
- output 输出
- loader
- plugin 插件 entry
指示
webpack应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack会找出有哪些模块和库是入口起点(直接和间接)依赖的.默认值是./src/index.js
output
告诉
webpack在哪里输出它所创建的bundle,以及如何命名这些文件。主要输出文件的默认值是./dist/main.js,其他生成文件默认放置在./dist文件夹中
loader
webpack只能理解JavaScript和JSON文件。loader让webpack能够去处理其他类型的文件,并将它们转换为有效 模块,以供应用程序使用,以及被添加到依赖图中
plugin
loader用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量
tree-shacking:
webpack构建体积优化,意为在webpack打包时把无用的代码(例如未调用的方法、未使用的变量)摇掉,以优化打包结果,当打包环境为production时,默认开启tree_shacking。
副作用是指除了导出成员之外所做的事情,如果希望有副作用的文件不参与tree-shacking打包,可以在package.json中对sideEffects进行设置,默认值是false,即全部参与摇树打包,还可以为true或者数组(内容为不参与摇树打包的文件路径)