在哪些方面可以对IT运营产生重大影响
|
浏览器会自动获取并解析(evaluate)导入的模块(如果需要,还可以分析该模块的导入),然后运行该脚本。 模块只通过 HTTP(s) 工作,在本地文件则不行 如果你尝试通过 file:// 协议在本地打开一个网页,你会发现 import/export 指令不起作用。你可以使用本地 Web 服务器,例如 static-server,或者使用编辑器的“实时服务器”功能,例如 VS Code 的 Live Server Extension 来测试模块。 二、模块核心功能 与“常规”脚本相比,模块有什么不同呢? 下面是一些核心的功能,对浏览器和服务端的 JavaScript 来说都有效。 三、始终使用 “use strict”
模块始终默认使用 use strict,例如,对一个未声明的变量赋值将产生错误(译注:在浏览器控制台可以看到 error 信息)。 随着我们的应用越来越大,我们想要将其拆分成多个文件,即所谓的“模块(module)”。一个模块可以包含用于特定目的的类或函数库。 很长一段时间,JavaScript 都没有语言级(language-level)的模块语法。这不是一个问题,因为最初的脚本又小又简单,所以没必要将其模块化。 但是最终脚本变得越来越复杂,因此社区发明了许多种方法来将代码组织到模块中,使用特殊的库按需加载模块。 列举一些(出于历史原因):
现在,它们都在慢慢成为历史的一部分,但我们仍然可以在旧脚本中找到它们。 语言级的模块系统在 2015 年的时候出现在了标准(ES6)中,此后逐渐发展,现在已经得到了所有主流浏览器和 Node.js 的支持。因此,我们将从现在开始学习现代 JavaScript 模块(module)。 一、什么是模块? 一个模块(module)就是一个文件。一个脚本就是一个模块。就这么简单。 模块可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数: export 关键字标记了可以从当前模块外部访问的变量和函数。 import 关键字允许从其他模块导入功能。
例如,我们有一个 sayHi.js 文件导出了一个函数: (编辑:漯河站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
