首页 > 其他分享 >webpack技术点

webpack技术点

时间:2022-11-12 14:44:16浏览次数:51  
标签:配置 技术 入口 loader webpack 模块 打包

1.认识webpack

 

 

  简单来说,webpack就是一个静态资源打包工具,负责将项目中依赖的各个模块,打包成一个或多个文件。

2.核心概念

(1).依赖图 dependency graph

       当webpack开始打包处理应用程序时,他会根据入口文件递归的创建一个依赖关系图(dependency graphy),之后,webpack可以通过依赖关系图取到所有非代码资源(比如图片和字体等)。

(2).入口起点  entry

      entry是依赖关系图的起点。从指定的入口文件开始寻找依赖,生成关系图,完成打包构建任务。webpack允许一个或多个入口配置。分为单入口和多入口。

(3)输出output

      输出则是用于控制webpack构建打包的出口,如打包的位置,打包的文件名等等。 只指定一个输出位置。

       用法:在webpack中配置output属性的最低要求是,将它的值设置为一个对象,包括以下两点:

                  1.filename用于输出文件的文件名。

                  2.目标输出目录path的绝对路径。

Webpack:1.先打包生成bundle,再启动开发服务器

                 2.HMR时需要把改动模块及相关依赖全部编译

                 3.内存高效利用

4.模式mode

       提供mode配置选项,告知webpack使用相应模式的内置优化。包括develpoment和production.

5.加载器loader

     Webpack默认只能理解JavaScript,而其他类型资源必须使用对于应的资源loader才能处理。

     例如:loader可以将文件从不同语言(如TypeScript)转换为JavaScipt,或将内联图像转换为data URL。

loader特性

6.插件plugins

    插件则是用于扩展webpack的能力,目的是为了解决loader无法实现的其他事。由于插件可以携带参数/选项,你必须在webpack配置中,向plugins属性传入new实例。

7.解析resolve

reslove用于设置模块如何解析,常用配置如下:

    1.alias:配置别名,简化模块引入;

    2.extensions:在引入模块时可不带后缀;

    3.symlinks:用于配置npm link是否生效,禁用可提升编译速度

8.优化 optimization

     optimization 用于自定义webpack的内置优化配置,一般用于生产模式提升性能,常用配置项如下:

     1.minimize:是否需要压缩bundle

     2.minimizer:配置压缩工具,如TeraerPlugin、OptimizeCSSAssetsPlugin;

     3.splitChunks:拆分bundle;

     4.runtimeChunk:是否需要将所有生成chunk之间共享的运行时文件拆分出来。

 

                       

 

标签:配置,技术,入口,loader,webpack,模块,打包
From: https://www.cnblogs.com/w-y-l-1/p/16874373.html

相关文章