玖叶教程网

前端编程开发入门

webpack有哪些特点?代码分割,加载器,智能解析,插件系统

问题:webpack的特点

一、代码分割

在 webpack 的依赖树里有两种类型的依赖:同步依赖和异步依赖。

异步依赖:会成为一个代码分割点,并且组成一个新的代码块,在代码块组成的树被优化之后,每个代码块都会保存在一个单独的文件里。

二、加载器

webpack 原生是只能处理 JavaScript 的,而加载器的作用是把其他的代码转换成JavaScript 代码,这样一来所有种类的代码都能组成一个模块,也就是说,我们可以在代码内通过 import 将 webpack打包的资源 以模块的方法引入到程序中。

Vue项目中常用到的加载器(以 NPM库 形式提供):

  1. vue-loader -- 用于加载与编译 *.vue 文件,提取出其中的逻辑代码 script、样式代码 style、以及 HTML 模版 template,再分别把它们交给对应的 Loader 去处理。
  2. vue-style-loader -- 用于加载 *.vue 文件中的样式
  3. style-loader -- 用于将样式直接插入到页面的<style>
  4. css-loader -- 用于加载 *.css 样式表文件;
  5. less-loader -- 用于编译与加载 *.less 文件(需要依赖less库)
  6. babel-loader -- 用于将 ES6 编译成为浏览器兼容的ES5
  7. file-loader -- 用于直接加载文件
  8. url-loader -- 用于加载 URL 指定的文件,多用于字体与图片的加载
  9. json-loader -- 用于加载 *.json 文件作为 JS 实例。

三、智能解析

webpack 的智能解析器能处理几乎所有的第三方库,它甚至允许依赖里出现这样的表达式:

require("./component/" + name + '.vue')

它能处理大多数的模块系统,比如 CommonJS 和 AMD

四、插件系统

webpack 有丰富的插件系统,大多数内部的功能都是基于这个插件系统的,这也使得我们可以定制 webpack ,把它打造成能满足我们需求的功能,并且把自己做的插件开源出来。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言