前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >wepack中loader的分类

wepack中loader的分类

原创
作者头像
Qiang
修改2019-08-13 11:19:56
9180
修改2019-08-13 11:19:56
举报
文章被收录于专栏:前端精髓前端精髓

loader种类

loader分为四类

分别是:

  1. 前置 pre
  2. 行内 inline
  3. 普通 normal
  4. 后置 post

Rule.enforce

enforce 属性会影响 loader 种类。不论是普通的,前置的,后置的 loader。

可能的值有:"pre" | "post"

代码语言:txt
复制
module: {
    rules: [
      {
        test: /\.less$/,
        use: 'less-loader',
        enforce: 'pre'
      },
     {
        test: /\.less$/,
        use: 'css-loader'
      },
     {
        test: /\.less$/,
        use: 'style-loader',
        enforce: 'post'
      }
    ]
  },

指定 loader 种类。没有值表示是普通 loader

行内loader

还有一个额外的种类"行内 loader",loader 被应用在 import/require 行内

基本写法

使用 ! 将资源中的 loader 分开。每个部分都会相对于当前目录解析。

代码语言:txt
复制
import Styles from 'style-loader!css-loader?modules!./styles.css';

选项可以传递查询参数,例如 ?key=value&foo=bar,或者一个 JSON 对象,例如 ?{"key":"value","foo":"bar"}

共有3种前缀

所有普通 loader 可以通过在请求中加上 ! 前缀忽略(覆盖)。

代码语言:txt
复制
require('!inline-loader!./a.js')

所有普通和前置 loader 可以通过在请求中加上 -! 前缀忽略(覆盖)。

代码语言:txt
复制
require('-!inline-loader!./a.js')

所有普通,后置和前置 loader 可以通过在请求中加上 !! 前缀忽略(覆盖)。

代码语言:txt
复制
require('!!inline-loader!./a.js')

loader的执行顺序

所有 loader 通过 前置, 行内, 普通, 后置 排序,并按此顺序使用。

微信扫一扫,关注前端精髓
微信扫一扫,关注前端精髓

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • loader种类
  • Rule.enforce
  • 行内loader
  • loader的执行顺序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档