webpack相关

123 阅读1分钟

webpack 的核心有四个

  • entry 入口
  • output 输出
  • loader
  • plugin 插件 entry

指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的.默认值是 ./src/index.js

output

告诉 webpack 在哪里输出它所创建的 bundle,以及如何命名这些文件。主要输出文件的默认值是 ./dist/main.js,其他生成文件默认放置在 ./dist 文件夹中

loader

webpack 只能理解 JavaScriptJSON 文件。loaderwebpack 能够去处理其他类型的文件,并将它们转换为有效 模块,以供应用程序使用,以及被添加到依赖图中

plugin

loader 用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量

image.png image.png

tree-shacking:

webpack构建体积优化,意为在webpack打包时把无用的代码(例如未调用的方法、未使用的变量)摇掉,以优化打包结果,当打包环境为production时,默认开启tree_shacking。

副作用是指除了导出成员之外所做的事情,如果希望有副作用的文件不参与tree-shacking打包,可以在package.json中对sideEffects进行设置,默认值是false,即全部参与摇树打包,还可以为true或者数组(内容为不参与摇树打包的文件路径)