关于webpack5中的this到底指向哪里?

来源:6-1 如何编写一个 Loader(1)

慕粉6137024

2021-04-06

跟着写了个loader,结果虽然成功替换了字符串。

但js文件里面的this一直都是个空对象,也拿不到任何loader的options的上下文
也不知道指向了哪里,页面里面打印出来也是一个空对象。

//replaceLoader.js
module.exports = (source)=>{
    console.log(this.version) //undefined
    console.log(this.query)//undefined
    console.log(this.getOptions)//undefined
    return source.replace('shit','not a shit')
}
//index.js
let str = 'tom is shit'
console.log(str)
//webpack.config.js
...
{
    test:/\.js/,
    use:[{
        loader:path.resolve(__dirname,'../src/replaceLoader.js'),
        options:{
            name:'hoho'
        }
    }]
}
...
写回答

2回答

godlanbo

2021-08-19

你写个箭头函数当然是空的。。。

2
0

Dell

2021-04-08

你在控制台里但因this,你看看输出的结果是什么

0
3
qq_坚持v_0
回复
慕粉6137024
有人说了答案了 不要用箭头函数
2021-09-05
共3条回复

从基础到实战 手把手带你掌握新版Webpack4.0

知识点+项目实例+原理讲解 全方位解析Webpack4新版本

3627 学习 · 1291 问题

查看课程