模块

一个小时学会JavaScript
2023-06-07 17:45 · 阅读时长4分钟

随着业务的增长,项目会越来越大,这个时候我们就需要把代码拆分到不同的文件中,这样可以让每个文件都更加简洁,也更容易管理,这些文件就是所谓的模块。目前 JavaScript 的模块标准是在 ECMAScript 6 (ES6) 规范中定义,我们可以使用 import 引用模块,使用 export 导出模块。

ES6 模块规范

如果想要使用 ES6 模块功能,我们还需要做一些额外的配置,如果是 node.js 项目,需要在 package.json 中配置typemodule

加载中...

如果是 HTML 页面,则需要在 script 标签中设置 type 属性为 module

加载中...

假如我们有两个文件,main.js 和 math.js ,我们想要在 main.js 中调用 math.js 中的方法,我们可以这样做。

加载中...

export 和 import 除了这种形式以外,还有几种其它形式,下面我们看几种常用的形式。

加载中...
加载中...

除了函数以外,还可以导出变量和常量,不过导出后的变量和常量都是只读不可修改,如果是对象则可以修改它的属性值。

加载中...

除了 ES6 定义的模块规范,还有一种常用的模块管理方式CommonJS,不过这种方式通常用于服务端开发,很少用于 Web 前端开发,也就是 HTML 网页中。它使用 require / exports 来进行导入和导出模块。

如果想要使用CommonJS来管理模块,需要在 package.json 中,移除type属性,或者配置typecommonjs

加载中...

假如我们有两个文件,main.js 和 math.js ,我们想要在 main.js 中调用 math.js 中的方法,我们可以这样做。

加载中...

还可以使用这种方式导出

加载中...

同样的除了函数以外,还可以导出变量和常量。

加载中...
JavaScript模块