CommonJS和ESmodule

CommonJS

CommonJS是一种用于JavaScript的模块规范,主要用于服务器端JavaScript环境,如Node.js。

2009年,Ryan Dahl基于开源的V8引擎发布了nodejs,让开发者可以用js来实现后端的服务,commonjs解决了全局变量污染和模块依赖混乱的问题,随即就被nodejs支持并引入,如是nodejs成为了第一个为JS语言实现模块化的平台,为前端接下来的迅猛发展奠定了实践基础。

ES Modules

ES Modules(ECMAScript Modules)是JavaScript的一种模块系统,它在ECMAScript 6(ES6)中被引入。模块系统的主要目的是帮助开发者组织和管理代码。

由于无法在浏览器直接使用服务端的 CommonJS,所以发明了ES Modules 用于前端开发。 。

模块化的方式有很多优点,包括:

  • 提高代码的可维护性:模块化的代码更容易理解和维护。每个模块都有明确的职责,模块之间的依赖关系清晰。

  • 避免命名冲突:由于每个模块都有自己的作用域,所以不同模块中的变量和函数可以使用相同的名字,而不会产生冲突。

  • 代码复用:你可以将一些常用的函数或类放在一个模块中,然后在需要的地方导入它们,而不是在每个地方都重新编写相同的代码。

Last updated