webapck中使用loader的方法有三种

  使用loader之前必须运行安装 : npm install --save-dev xxx-loader

  (1)通过CLI : 命令行中运行 webpack --module-bind jade  --module-bind 'css=style!css'   

    //jade,style,css后面可省略-loader,他们分别对.jade使用jade-loader,对.css使用style-loader和css-loader

  (2)通过require : require('style-loader!css-loader?module!./style/main.css')

    //对main.css使用css-loader和style-loader加载,loader解析顺序是从右往左 

  (3)通过配置webpack.config.js : 

  //在webpack.config.js插入modules属性;(1)rules中包含对象数组,每个对象中{test,use}test对应正则表达式,use包含多个所需loader,如只需一个loader可省去use,格式如:loader : 'xxx-loader'

modules : {
    rules : [
        {
     test : /\.css/, use : [ { loader : 'style-loader'}, { loader : 'css-loader', options : { module : true } } ]    },
    {//第二个loader},
    {//第三个loader}
  ] }

 

  1.模板:

    (1)html-loader:将HTML文件导出编译为字符串,可供js识别的其中一个模块

    (2)pug-loader : 加载pug模板

    (3)jade-loader : 加载jade模板(是pug的前身,由于商标问题改名为pug)

    (4)ejs-loader : 加载ejs模板

    (5)handlebars-loader : 将Handlebars模板转移为HTML

  2.样式:

    (1)css-loader : 解析css文件中代码

    (2)style-loader : 将css模块作为样式导出到DOM中

    (3)less-loader : 加载和转义less文件

    (4)sass-loader : 加载和转义sass/scss文件

    (5)postcss-loader : 使用postcss加载和转义css/sss文件

  3.脚本转换编译:

    (1)script-loader : 在全局上下文中执行一次javascript文件,不需要解析

    (2)babel-loader : 加载ES6+ 代码后使用Babel转义为ES5后浏览器才能解析

    (3)typescript-loader : 加载Typescript脚本文件

    (4)coffee-loader : 加载Coffeescript脚本文件

  4.JSON加载:

    (1)json-loader : 加载json文件(默认包含)

    (2)json5-loader : 加载和转义JSON5文件

  5.Files文件

    (1)raw-loader : 加载文件原始内容(utf-8格式)

    (2)url-loader : 多数用于加载图片资源,超过文件大小显示则返回data URL

    (3)file-loader : 将文件发送到输出的文件夹并返回URL(相对路径)

    (4)jshint-loader : 检查代码格式错误

  6.加载框架:

    (1)vue-loader : 加载和转义vue组件

    (2)angualr2-template--loader : 加载和转义angular组件

    (3)react-hot-loader : 动态刷新和转义react组件中修改的部分,基于webpack-dev-server插件需先安装,然后在webpack.config.js中引用react-hot-loader