zoukankan      html  css  js  c++  java
  • 关于webpack,babel,es6,commonJS,import,require之间的联系

    一. babel(语法转换)

    1. 浏览器很多都不支持es6的语法,或者仅仅是部分支持,babel就承担了“翻译”的角色,把es6,es7的写法转换成es5的写法

    2. babel转换后的代码是遵循commonJS模块规范的es5写法,而这个规范,浏览器并不能识别。因此导入到浏览器中会报错,而nodeJS是commonJS的实现者,所以在babel转换后的代码是可以在node中运行的。

    3. 为什么import和require可以混用,因为babel是不会转换require,本身就是遵循语法不需要转换,之后通过webpack打包转换成浏览器可运行语法就行了

    二. webpack(模块打包工具)

    为了将babel生成的commonJS模块规范的es5写法能够在浏览器上直接运行,在webpack打包中就会有一套自己的loader专门来处理这些,可以转换成浏览器可运行代码

    三. es6的Modules和commonJS的关系(模块语法)

    es6的Modules导入导出是:import和export

    commonJS的导入导出是:require和module.exports

    作者:dlm17
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    WSL+vscode安装rust注意事项
    几种判断质数的算法
    select被遮挡问题
    idea工具使用
    docker部署nexus服务
    docker部署nacos
    springcloudAlibaba整合nacos
    Navicat_Premium_v15 激活
    CF295D Solution
    CF351B Solution
  • 原文地址:https://www.cnblogs.com/dlm17/p/13093898.html
Copyright © 2011-2022 走看看