惠普|webpack如何编写一个自己的loader

文章图片
Loader是什么?
Loader 只是一个导出为函数的 JavaScript 模块 。 现在我们可以知道其实loader就是一个函数 , 我们可以在这个函数里做一些事情 。 谁会调用这个函数呢(loader runner 会调用这个函数 , 然后把上一个 loader 产生的结果或者资源文件(resource file)传入进去 。 )
Loader职责是什么?
Loader职责是单一的 , 只做一件事 。假设一个源文件需要多步转换才能正常使用 , 就只能通过多个Loader去转换了 。 拿到最初的资源文件内容 , 转换成我们想要的结果 , 最后输出来
多个Loader执行会有什么情况?
在调用多个Loader去转换一个文件时 ,第一个Loader将会拿到需处理的原内容 , 上一个Loader处理后的结果会传给下一个接着处理 , 最后的Loader将处理后的最终结果返回给Webpack , 但是这里有个重要的多loader执行顺序是从右到左的(case: use:['style-loader' css-loader
先回执行css-loader再执行style-loader)
如何创建Loader呢?
创建loader其实就是创建一个函数 , 这里咱们初的创建一下叫做delconsole-loader第一步在根目录创建一个loaders文件夹在他的下面咱们创建一个delconsole-loader.js文件
// delconsole-loader.js
// 由于nodejs是遵从commonjs规范的所以你懂的导出格式
module.exports = function(context) {
//context是被处理文件里面的内容
// 调皮操作在项目内容里添加上自己的名字
context += '\\/**my name is tiaopi*\\/' + context;
// 替换内容
context = context.replace(/console\\.log\\(.*\\)/g '');
// 返回想要的结果
return context;
使用咱们的自己的delconsole-loader
module.exports = {
module: {
rules: [
{
test: /\\./
use: ['./delconsole-loader'
;
index.js文件
// index.js内容
console.log('start')
function a() {
return 'this is test del console'
a();
console.log('end')
执行webpack命令看到一下结果是不是前后没console啊
【惠普|webpack如何编写一个自己的loader】了解自己构建loader相关知识记得?关注啊;后面会继续介绍loader相关高级操作
推荐阅读
- 看观汽车|原装进口发动机,入门7万出头,看着动感坐着舒适,丰田致享如何
- 星车记|买车后如何正确调节座椅?
- 地震|菲律宾发生6.6级地震,地震来了该如何逃生?
- 思萌娱乐|老人收藏慈禧唯一真实照片,专家问多少钱才捐,老人如何回答的
- 喵家影视|求指导~河流退水后,如何能够钓到大草鱼?
- 孩子不爱收拾?如何提升孩子积极性,增强孩子的内因引导
- 央视新闻微信号|被叫停6年,木里矿区仍现大量存煤,盗采黑手如何伸进祁连山?
- 大众轿跑SUV探岳X上市—探岳/GTE/R-line/X四孪生兄弟该如何选?
- 看航海家如何用饱满的“汁水”挑动众人的味蕾
- 地球|如何证明地球在转动,这4点足可以,别再说感受不到了!
