学习webpack(二)

在上篇博客中我们通过webpack将first.js和entry.js两个文件打包成了bundle.js,除此之外还可以通过引入其他的loader,处理各种类型的文件。

loader的介绍

Loader可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为参数,返回转换的结果。这样,我们就可以通过require来加载任何类型的模块或文件,比如VUE、JSX、SASS 或图片。

loader的特性:

  • Loader可以通过管道方式链式调用,每个loader可以把资源转换成任意格式并传递给下一个loader,但是最后一个loader必须返回JavaScript。
  • Loader可以同步或异步执行。
    Loader运行在node.js环境中,所以可以做任何可能的事情。
  • Loader可以接受参数,以此来传递配置项给loader。
  • Loader可以通过文件扩展名(或正则表达式)绑定给不同类型的文件。
  • Loader可以通过npm发布和安装。
  • 除了通过package.json的main指定,通常的模块也可以导出一个loader来使用。
  • Loader可以访问配置。
  • 插件可以让loader拥有更多特性。
  • Loader可以分发出附加的任意文件。

loader使用

拿读取css文件举个栗子

安装用来读取css文件的css-loader
再用 style-loader 把它插入到页面中。

在命令行中输入:npm install css-loader style-loader --save-dev

然后检查下你的 package.json 文件看看是否发生了一下的变化:

"devDependencies": {
    "css-loader": "^0.28.1",
    "style-loader": "^0.17.0",
    "webpack": "^2.5.1"
  }

接下来我们新建一个css文件命名为style.css,内容为:

#app{
    color: red;
}

下面我们要对entry.js进行一些添加修改:

require("!style-loader!css-loader!./style.css");

然后进行编译打包,命令号输入:webpack entry.js bundle.js
完成之后刷新我们的页面发现h1的标题变成了红色。

当然了,如果觉得每次require css文件的时候都要写loader和那么多的前缀!我们也可以采取以下这种方式:

require("./style.css")

在进行编译打包时候,命令行输入以下:webpack entry.js bundle.js --module-bind "css=style-loader!css-loader"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,543评论 7 35
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 14,334评论 7 110
  • webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert阅读 11,547评论 2 71
  • 序 一望无际的白色空间里,一名神情忧郁的黑衣男子正在嘟囔些什么,我们走近一点,可以听到 ...
    Canon_dcd0阅读 3,892评论 0 0
  • 相信很多读过余华的书的人都知道活着和兄弟,还有许三观,在读这些书的时候,我想大多数人的心情都是类似的,压抑,压抑,...
    伏帖圆舞曲阅读 2,299评论 0 0