广告
返回顶部
首页 > 资讯 > 精选 >怎么开发Webpack Loader
  • 830
分享到

怎么开发Webpack Loader

2023-06-04 08:06:08 830人浏览 泡泡鱼
摘要

本篇内容主要讲解“怎么开发webpack Loader”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么开发WEBpack Loader”吧!一、单一任务loaders可以被链式调用,为每一步创

本篇内容主要讲解“怎么开发webpack Loader”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么开发WEBpack Loader”吧!

一、单一任务

loaders可以被链式调用,为每一步创建一个loader而非一个loader做所有事情。也就是说,在非必要的状况下没有必要将他们转换为js

例如:通过查询字符串将一个字符串模板转化为html

如果你写了个loader。做了所有事情那么你违背了loader的第一条要求。你应该为每一个task创建一个loader并且通过管道来使用它们

(1)ade-loader: 转换模板为一个module

(2) apply-loader: 创建一个module并通过查询参数来返回结果

(3)html-loade: 创建一个处理html并返回一个string的模块

二、创建moulde话的模块,即正常的模块

loader产出的module应该和遵循和普通的module一样的设计原则。

举个例子,下面这样设计是不好的,没有模块化,依赖全局状态。

怎么开发Webpack Loader

三、尽量表明该loader是否可以缓存

大部分loaders是cacheable,所以应该标明是否cacheable,只需要在loader里面调用即可。

怎么开发Webpack Loader

四、不要在运行和模块之间保存状态

(1)一个loader相对于其他编译后的模块应该是独立的。 除非其可以自己处理这些状态

(2)一个loader相对于同一模块之前的编译过程应该是独立的。

五、标明依赖

如果该loader引用了其他资源(例如文件系统), 必须声明它们。这些信息用来是缓存的loader失效并且重新编译它们。

怎么开发Webpack Loader

六、解析依赖

很多语言都提供了一些规范来声明依赖,例如CSS中的 @import 和 url(...)。这些依赖应该被模块系统所解析。

下面是两种解决方式:

将它们转化成require

用this.resolve方法来解析路径

下面是两个示例:

css-loader: 将依赖转化成require,即用require来替换@import和 url(...),解析对其他样式文件的依赖

less-loader: 不能像css-loader那样做,因为所有的less文件需要一起编译来解析变量和mixins。因此其通过一个公共的路径逻辑来扩展less编译过程。这个公共的逻辑使用this.resolve来解析带有module系统配置项的文件。例如aliasing, custom module directories等。

怎么开发Webpack Loader

如果语言仅仅接受相对urls(如css中url(file) 总是代表./file),使用~来说明成模块依赖.

七、抽离公共代码

extract common code 我感觉还是翻译成上面的标题比较好。其实所有语言都遵循该思想,即封装

不要写出来很多每个模块都在使用的代码,在loader中创建一个runtime文件,将公共代码放在其中

八、避免写入绝对路径

不要把绝对路径写入到模块代码中。它们将会破坏hash的过程当项目的根目录发生改变的时候。应该使用loader-utils的 stringifyRequest方法来绝对路径转化为相对路径。

例子:

怎么开发Webpack Loader

九、使用peerDependencies来指明依赖的库

使用peerDependency允许应用开发者去在package.JSON里说明依赖的具体版本。这些依赖应该是相对开放的允许工具库升级而不需要重新发布loader版本。简而言之,对于peerDependency依赖的库应该是松耦合的,当工具库版本变化的时候不需要重新变更loader版本。

十、可编程对象作为查询项

有些情况下,loader需要某些可编程的对象但是不能作为序列化的query参数被方法解析。例如less-loader通过具体的less-plugin提供了这种可能。这种情况下,loader应该允许扩展webpack的options对象去获得具体的option。为了避免名字冲突,基于loader的命名空间来命名是很必要的。

怎么开发Webpack Loader

到此,相信大家对“怎么开发Webpack Loader”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么开发Webpack Loader

本文链接: https://www.lsjlt.com/news/237015.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么开发Webpack Loader
    本篇内容主要讲解“怎么开发Webpack Loader”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么开发Webpack Loader”吧!一、单一任务loaders可以被链式调用,为每一步创...
    99+
    2023-06-04
  • Webpack loader之file-loader怎么用
    这篇文章主要为大家展示了“Webpack loader之file-loader怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Webpack loader之...
    99+
    2022-10-19
  • 如何快速开发一个Webpack Loader
    本篇内容主要讲解“如何快速开发一个Webpack Loader”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速开发一个Webpack Loader”吧!L...
    99+
    2022-10-19
  • webpack中loader有什么用
    这篇文章主要介绍webpack中loader有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、loaders之 预处理css-loader 处理css中路径引用等问题styl...
    99+
    2022-10-19
  • Vue + Webpack + Vue-loader有什么用
    这篇文章主要介绍Vue + Webpack + Vue-loader有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue-loader 是什么?vue-loader 是一个加...
    99+
    2022-10-19
  • webpack的loader和plugin有什么区别
    Webpack的loader和plugin是两个不同的概念,分别用于处理不同的任务。1. Loader(加载器):Loader用于对...
    99+
    2023-10-11
    webpack
  • Webpack中Loader和Plugin的区别是什么
    这篇文章主要介绍“Webpack中Loader和Plugin的区别是什么”,在日常操作中,相信很多人在Webpack中Loader和Plugin的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-19
  • 为什么webpack的loader的执行顺序是从后往前
    一、原因 这设计的原因是为了处理代码转换和加载过程中的依赖关系。由于Webpack的模块打包过程是从入口开始递归地解析和加载依赖,然后再进行代码转换,Loader的执行顺序也要与此过程保持一致。 当Webpack遇到需要转换的模块时,它会按...
    99+
    2023-10-29
    是从 顺序 webpack
  • react-hot-loader怎么用
    本文小编为大家详细介绍“react-hot-loader怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“react-hot-loader怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2022-10-19
  • 怎么从头开始设置webpack 5
    本篇内容主要讲解“怎么从头开始设置webpack 5”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么从头开始设置webpack 5”吧!如果你是从 webpa...
    99+
    2022-10-19
  • 如何搭建Webpack+Babel+React开发环境
    这篇文章主要介绍了如何搭建Webpack+Babel+React开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.认识Webpack...
    99+
    2022-10-19
  • 如何搭建webpack与SPA开发环境
    这篇文章主要介绍了如何搭建webpack与SPA开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。项目初始化以你喜欢的任意方式,创建项目...
    99+
    2022-10-19
  • webpack怎么用
    这篇文章主要介绍了webpack怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 webpack是基于node的。先安装最新的...
    99+
    2022-10-19
  • 怎么用CSS和GSAP实现树枝发芽的loader动画
    这篇文章主要介绍怎么用CSS和GSAP实现树枝发芽的loader动画,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!     代码解读    ...
    99+
    2022-10-19
  • webpack+express如何实现多页站点开发
    这篇文章将为大家详细讲解有关webpack+express如何实现多页站点开发,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package.json"devDe...
    99+
    2022-10-19
  • 怎么使用Oracle中的SQL Loader
    这篇文章主要介绍“怎么使用Oracle中的SQL Loader”,在日常操作中,相信很多人在怎么使用Oracle中的SQL Loader问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2022-10-18
  • webpack 2中react开发配置的示例分析
    小编给大家分享一下webpack 2中react开发配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基于webpac...
    99+
    2022-10-19
  • React+Webpack怎么用
    这篇文章主要为大家展示了“React+Webpack怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“React+Webpack怎么用”这篇文章吧。webst...
    99+
    2022-10-19
  • 怎么掌握webpack
    本篇内容介绍了“怎么掌握webpack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是webpack?...
    99+
    2022-10-19
  • 如何使用vue-cli+webpack搭建vue开发环境
    这篇文章主要介绍了如何使用vue-cli+webpack搭建vue开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在这里我们需要首先下...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作