zoukankan      html  css  js  c++  java
  • 关于babel和babel-polyfill

      使用babel-cli命令babel xx -d xx把一个js文件转成了ES5的,并在package.json里加了"babel-polyfill": "^6.23.0"依赖

    转换前

    import 'babel-polyfill';
    (x => x * 2)(1);
    var b = Array.of(1,2,4);

    转换后

    'use strict';
    
    require('babel-polyfill');
    
    (function (x) {
      return x * 2;
    })(1);
    var b = Array.of(1, 2, 4);

    一方面polyfill并没有在Array.of前面加上ES5的转换API,在浏览器打开也报错:require is not defined

    为何,gulp-babel编译es6后的require怎么处理

    Babel 的作用是帮助我们转换 ES6 代码为 ES5, 但是它没有模块管理的功能,浏览器端默认也无法识别 CommonJs 规范,

    这就需要我们额外使用模块打包工具,为我们的代码做一些包裹,让它能在浏览器端使用。 比如 BrowserifyWebpack

  • 相关阅读:
    CSP2018-09
    CSP2018-03
    CSP2017-12
    CSP2017-09
    CSP2017-03
    CSP2016-12
    [算法设计与分析] 奶酪 (并查集)
    5555
    阿超
    结对作业
  • 原文地址:https://www.cnblogs.com/zhansu/p/7064583.html
Copyright © 2011-2022 走看看