Node里window=this和global区别以及webpack

Nodewindow=this & window=global差别

console.log(global)
输出:
    <ref *1> Object [global] {
      global: [Circular *1],
      clearInterval: [Function: clearInterval],
      clearTimeout: [Function: clearTimeout],
      setInterval: [Function: setInterval],
      setTimeout: [Function: setTimeout] {
        [Symbol(nodejs.util.promisify.custom)]: [Function (anonymous)]
      },
      queueMicrotask: [Function: queueMicrotask],
      clearImmediate: [Function: clearImmediate],
      setImmediate: [Function: setImmediate] {
        [Symbol(nodejs.util.promisify.custom)]: [Function (anonymous)]
      }
    }
console.log(this)
输出:
    {}

thisNodejs里面指的是moudle.exports

小例子

window = global
window.a = 10
console.log(a)
不会报错,可以拿到a
window = this
window.a = 10
console.log(a)
直接报错

过检测

window = global
delete global
window.a = 10
这样可以过掉很多检测
console.log(a)

webpack

整体结构

var result;
!function(n){
    function h(e){
        c = {};
        if (c[e])
            return c[e].exports;
        var t = c[e] = {
            i:e,
            l:!1,
            exports:{}
        };
        return n[e].call(t.exports, t, t.exports, h),
            t.l = !0,
            t.exports
    }
}(
    {
        模块1:function(e,t,n){
            console.log('1111111')
        }
        模块2:function(e,t,n){
            console.log('2222222')
        }
    }
)

想调用模块2里面的 内容

!function(n){
    function h(e){
        c = {};
        if (c[e])
            return c[e].exports;
        var t = c[e] = {
            i:e,
            l:!1,
            exports:{}
        };
        return n[e].call(t.exports, t, t.exports, h),
            t.l = !0,
            t.exports
    }
    result = h
}(
    {
        模块1:function(e,t,n){
            console.log('1111111')
        }
        模块2:function(e,t,n){
            console.log('2222222')
        }
    }
)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值