webpack

作者: 幽幽_默默 | 来源:发表于2020-03-26 15:08 被阅读0次

    参考:https://www.jianshu.com/p/b8d6ac3041e3

    https://juejin.im/post/5aa3d2056fb9a028c36868aa

    为什么我们需要webpack?

    什么是webpack ?本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。如图。

    webpack打包流程

    webpack主要的模块有:

    Entry:指定webpack开始构建的入口模块,从该模块开始构建并计算出直接或间接依赖的模块或者库

    Output:告诉webpack如何命名输出的文件以及输出的目录

    Loaders:由于webpack只能处理javascript,所以我们需要对一些非js文件处理成webpack能够处理的模块,比如sass文件,让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)

    Plugins:Loaders将各类型的文件处理成webpack能够处理的模块,plugins有着很强的能力。插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。但也是最复杂的一个。比如对js文件进行压缩优化的UglifyJsPlugin插件

    Chunk:coding split的产物,我们可以对一些代码打包成一个单独的chunk,比如某些公共模块,去重,更好的利用缓存。或者按需加载某些功能模块,优化加载时间。在webpack3及以前我们都利用CommonsChunkPlugin将一些公共代码分割成一个chunk,实现单独加载。在webpack4 中CommonsChunkPlugin被废弃,使用SplitChunksPlugin

    相关文章

      网友评论

          本文标题:webpack

          本文链接:https://www.haomeiwen.com/subject/euscehtx.html