美文网首页
webpack中loader为什么是从后往前加载的

webpack中loader为什么是从后往前加载的

作者: 瓯海 | 来源:发表于2021-10-05 08:45 被阅读0次

自定义loader

在webpack中loader是分为两种的,一种是pitchloader一种是normalloader ,在使用自定义loader时可以用如下方法进行定义loader

//1.自定义loader,接收内容参数(contentx)
module.exports = function (contentx) {
  //2.处理contetx
  console.log(contentx, 'normalLoader0');
  //3.返回contentx
  return contentx;
};
//loader分为两种一种是上面的Nomalloader,还有一种是下面的pitchloader
module.exports.pitch = function () {
  console.log('pitchLoader0');
};

大部分的loader定义时用的是normalloader,loader的执行顺序是和pitchloader调用是有关的,现在来定义三个loader,来测试一下loader的执行顺序
用如图所示的loader来执行js文件


webpack的配置.png

自定义loader路径查找


image.png
执行结果
result
可以看到在执行pitchLoader的时候执行顺序是正序的,在执行normalloader的时候执行顺序是倒序的

源码解读

loader的加载是webpack在runloader的时候执行的,调用的loader-runner这个库,这个库在执行loader的时候将所有的loader加了一个index


.pitchLoader

源码中在判断当前的loader是pitchLoader时index是递增的,所以pitchLoader是正序的


normalLoader
当判断当前的loader是normalLoader时index是递减的,所以执行的顺序是倒序的

enforce

enforce是可以改变loader的执行顺序,一共有四种配置

  • post , inline , normal , pre
    默认的配置是normal
    在 pitchLoader的执行顺序是给出的顺序,normalLoader的执行顺序是倒过来的

相关文章

  • webpack中loader为什么是从后往前加载的

    自定义loader 在webpack中loader是分为两种的,一种是pitchloader一种是normallo...

  • webpack loader使用

    本节我们来学习 webpack 中 loader 加载器的使用,那么什么是 loader 呢。从本质上来说,loa...

  • webpack loader使用

    本节我们来学习 webpack 中 loader 加载器的使用,那么什么是 loader 呢。从本质上来说,loa...

  • 20-webpack 加载字体优化

    在 08-webpack加载字体 中,使用 file-loader 可以加载字体资源。 通过 url-loader...

  • webpack.config配置加载图片

    安装对应的loader,加载图片安装的file-loader,命令如下 在webpack.config.js中添加...

  • webpack打包图片文件

    打包图片文件 url-loader 在 webpack 中引入图片需要依赖 url-loader 这个加载器。安装...

  • webpack安装下

    webpack loader 和plugin的区别是什么? loader:加载器=>加载文件 (load文件)pl...

  • 怎么编写一个 webpack loader

    编写 loader 前需要知道 webpack loader 的执行循序?从右到左执行。 为什么 webpack ...

  • 2017.12. 值得注意的问题

    loader和插件的区别 loader 用于加载某些资源文件。 因为webpack 本身只能打包commonjs规...

  • webpack

    loader 是webpack的核心工作原理,通过这些资源加载器,完成webpack的打包工作plugin相当于挂...

网友评论

      本文标题:webpack中loader为什么是从后往前加载的

      本文链接:https://www.haomeiwen.com/subject/buiwnltx.html