MM.*_*MM. 3 javascript commonjs node.js typescript
我不确定在以下情况下导入JavaScript模块之间的区别:
为什么有这么多种方式导入javascript模块?在不同的实现中,“模块”的定义是否有所不同?是否都在做同一件事,但语法不同?
ES5及更早版本中没有模块。由于当时JavaScript中没有标准的模块系统,因此创建了各种模块系统(CommonJS,AMD以及Node.js和TypeScript中的类似CommonJS的系统),但这是一件非常有用的事情。因此,工具和工具构建者满足了需求。
ES2015(又名“ ES6”)为JavaScript中的模块创建了标准语法,现已被所有现代浏览器,Node.js和TypeScript所采用。该标准语法将模块标识符的语义留给主机环境使用,因此Web社区的领导者必须就如何在浏览器中进行操作达成共识(而Node.js必须弄清楚如何在Node.js中做到这一点)。等等),因此在ES2015发布与您能够以本机使用该语法之间有一些延迟(尽管Webpack,Rollup等可以处理)。
在某些用例中,ES2015的静态语法不能完全解决问题,因此存在import()(动态导入)建议,该建议已在某些环境中得到支持,并将在ES2020中使用。
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |