获得徽章 0
赞了这篇沸点
一. 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
展开
评论
下一页