Open Leen27 opened 1 year ago
参考:https://zh.javascript.info/modules-intro
AMD —— 最古老的模块系统之一,最初由 require.js 库实现。 CommonJS —— 为 Node.js 服务器创建的模块系统。 UMD —— 另外一个模块系统,建议作为通用的模块系统,它与 AMD 和 CommonJS 都兼容。
现在,它们都在慢慢成为历史的一部分,但我们仍然可以在旧脚本中找到它们。
语言级的模块系统在 2015 年的时候出现在了标准(ES6)中,此后逐渐发展,现在已经得到了所有主流浏览器和 Node.js 的支持。因此,我们将从现在开始学习现代 JavaScript 模块(module)。
一个模块(module)就是一个文件。一个脚本就是一个模块。就这么简单。
模块可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数:
export 关键字标记了可以从当前模块外部访问的变量和函数。 import 关键字允许从其他模块导入功能。 例如,我们有一个 sayHi.js 文件导出了一个函数:
// 📁 sayHi.js export function sayHi(user) { alert(`Hello, ${user}!`); }
……然后另一个文件可能导入并使用了这个函数:
// 📁 main.js import { sayHi } from './sayHi.js'; alert(sayHi); // function... sayHi('John'); // Hello, John!
由于模块支持特殊的关键字和功能,因此我们必须通过使用 Githubissues.
参考:https://zh.javascript.info/modules-intro
历史模块分类
AMD —— 最古老的模块系统之一,最初由 require.js 库实现。 CommonJS —— 为 Node.js 服务器创建的模块系统。 UMD —— 另外一个模块系统,建议作为通用的模块系统,它与 AMD 和 CommonJS 都兼容。
现在,它们都在慢慢成为历史的一部分,但我们仍然可以在旧脚本中找到它们。
现代 模块
语言级的模块系统在 2015 年的时候出现在了标准(ES6)中,此后逐渐发展,现在已经得到了所有主流浏览器和 Node.js 的支持。因此,我们将从现在开始学习现代 JavaScript 模块(module)。
什么是模块?
一个模块(module)就是一个文件。一个脚本就是一个模块。就这么简单。
模块可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数:
export 关键字标记了可以从当前模块外部访问的变量和函数。 import 关键字允许从其他模块导入功能。 例如,我们有一个 sayHi.js 文件导出了一个函数:
……然后另一个文件可能导入并使用了这个函数:
由于模块支持特殊的关键字和功能,因此我们必须通过使用 Githubissues.