webpack 相关 loaders

2020-08-11  本文已影响0人  vavid

使用loader来处理文件,loader是一个导出为function的node模块。可以将匹配到的文件进行一次转换,同时loader可以链式传递。
loader的加载顺序是从右往左。

module.exports = {
  module: {
    rules: [
        {
          test: /\.scss$/,
          use:[
              {loader:'style-loader'},
              {loader:'css-loader',options:{sourceMap:true,modules:true}},
              {loader:'sass-loader',options:{sourceMap:true}}
          ],
          exclude:/node_modules/
      }
    ]
  }
}

webpack 常用loader,不断完善中……

一、样式相关

1. css-loader

👉 css-loader会处理 import / require() @import / url 引入的内容。


image.png

2.style-loader

👉 style-loader把css转换成脚本加载的JavaScript代码, 用于将打包后的css代码<style>标签形式添加到页面头部,
(我们没用到)

options: {
        insert: 'top'  //选择插入标签的地方
    }

{test:/.css$/, use: ['style-loader', 'css-loader']},
先用css-loader将css代码编译,再交给style-loader插入到网页里面去。

3. sass-loader

👉 把scss转成css

4. postcss-loader 自动添加前缀

二、js相关

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

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

3. to-string-loader

👉返回内容格式为string的文件

4. typescript-loader : 加载Typescript脚本文件

三、文件相关

1. file-loader

👉 装载jpg、png、gif图片或字体文件的loader

2. url-loader

可以配置limit,当打包图片小于某个值时,则将其直接打包成base64

options: {
                        limit: 8*1024, //如果小于8KB,那么将直接转为Base64编码
                        ...
                    },

3.tslint-loader

👉 装载typescript的loader
options: {
configFile: '配置文件地址'
}
https://www.cnblogs.com/xhy-steve/p/6591426.html

四、编写loader

如何自定义编写loader: 戳这里➡️how to write a loader

上一篇下一篇

猜你喜欢

热点阅读