什么是Webpack  .  ( 模块打包机,分析项目结构,找到js不能识别的代码语言,转换和打包后,供browser使用 )

WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。

Webpack的工作方式是:(从项目index.js入口开始, 找出所有依赖文件, 用loaders加载器加工, 最后转换打包成brower能识别的js文件)

  把你的项目当做一个整体,通过一个给定的主文件(如:index.js),Webpack将从这个文件开始找到你的项目的所有依赖文件,使用loaders处理它们,最后打包为一个(或多个)浏览器可识别的JavaScript文件。

减小文件搜索范围

在使用实际项目开发中,为了提升开发效率,很明显你会使用很多成熟第三方库;即便自己写的代码,模块间相互引用,为了方便也会使用相对路劲,或者别名(alias);这中间如果能使得 Webpack 更快寻找到目标,将对打包速度产生很是积极的影响。于此,我们需要做的即:减小文件搜索范围,从而提升速度;实现这一点,可以有如下两法:

配置 resolve.modules

Webpack的resolve.modules配置模块库(即 node_modules)所在的位置,在 js 里出现 import 'vue' 这样不是相对、也不是绝对路径的写法时,会去 node_modules 目录下找。但是默认的配置,会采用向上递归搜索的方式去寻找,但通常项目目录里只有一个 node_modules,且是在项目根目录,为了减少搜索范围,可以直接写明 node_modules 的全路径;同样,对于别名(alias)的配置,亦当如此:

最新文章

  1. Keil环境中建立带FreeRTOS的STM32L项目
  2. win7桌面背景地址
  3. thread_AtomicBoolean
  4. UIDatePicker的简单用法
  5. 匹配IP地址的正则表达式 (转)
  6. easyui中带checkbox框的tree
  7. [039] 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)
  8. 浅谈java中内置的观察者模式与动态代理的实现
  9. 与webview打交道踩过的坑
  10. JAVA项目从运维部署到项目开发(二.ZooKeeper)
  11. luogu 2704 炮兵阵地 状压dp
  12. js类型----你所不知道的JavaScript系列(5)
  13. java.lang.SecurityException: Permission Denial: writing android.support.v4.content.FileProvider uri
  14. P1382 楼房
  15. Apache按天截断日志工具,无法生成访问日志
  16. C++动态时间显示
  17. 使用Git上传代码到Github仓库
  18. JAVA读取MongoDB中的二进制图片并在jsp中显示
  19. [翻译] GoogleMaterialDesignIcons
  20. 在windows操作系统中,查询端口占用和清除端口占用的程序

热门文章

  1. 用到临时表空间的几种SQL
  2. windows下使用命令行运行PHP
  3. Centos7部署tornado项目
  4. U盘中病毒,文件消失或不显示
  5. python之路-day1-while循环
  6. 异步任务利器Celery(二)在django项目中使用Celery
  7. spring配置jax-ws
  8. Python3基础 list [] 创建空列表
  9. Python 解析 XML 文件生成 HTML
  10. 3545: [ONTAK2010]Peaks 平衡树,最小生成树