【黑叔说】之《进阶必备知识》(一)

前言:每天一分钟,通勤跟我学!

《进阶知识点》系列的知识,来自互联网,由黑叔总结或改编,仅供参考。

一、前端模块化

二、webpack简易版实现

    (function (modules) {
      function require(fileName) {
        const fn = modules[fileName];
        const module = {exports: {}};
        fn(require, module, module.exports);
        return module.exports;
      }
      require('./src/index.js');
    })({
      './src/index.js': function (require, module, exports) {
        "use strict";
        var _test = require("./test");
        var _test2 = _interopRequireDefault(_test);
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : {default: obj};
        }
        console.log(_test2.default);
      }, './test': function (require, module, exports) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
          value: true
        });
        var _message = require("./message");
        var _message2 = _interopRequireDefault(_message);
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : {default: obj};
        }
        var a = 'hello' + _message2.default;
        exports.default = a;
      }, './message': function (require, module, exports) {
        "use strict";
        Object.defineProperty(exports, "__esModule", {
          value: true
        });
        var b = 'world';
        exports.default = b;
      },
    })

三、跨域解决方案

  • JSONP

  • CORS

  • postMessage

  • websocket

  • Node中间件代理

  • nginx反向代理

  • window.name + iframe

  • location.hash + iframe

  • document.domain + iframe

四、DOM DIFF

  • 用JS对象模拟DOM(虚拟DOM)

  • 把此虚拟DOM转成真实DOM并插入页面中(render)

  • 如果有事件发生修改了虚拟DOM,比较两棵虚拟DOM树的差异,得到差异对象(diff)

  • 把差异对象应用到真正的DOM树上(patch)

五、MVVM实现原理

六、代码人生

我将会持续更新,敬请期待。
入群交流学习或喜欢黑叔亦或
回顾历史文章,扫码关注噢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值