首页 > 解决方案 > 浏览器中 JavaScript 模块的意义何在?

问题描述

所以我目前正在从事编码项目,当我四处寻找解决特定问题的解决方案时,我遇到了“模块”。虽然我之前听说过这个术语,但我认为有必要研究一下模块实际上是什么以及它们是如何使用的。

从我收集到的信息来看,一个模块就是一段“代码”。无论是存在于一个 JavaScript 文件中的函数、变量、类,它们都可以导出/导入到另一个 JavaScript 文件/从另一个 JavaScript 文件导出/导入。

这似乎有点毫无意义 - 如果我可以从另一个文件中使用它们,为什么还要麻烦导出脚本/脚本集?

这是我正在谈论的一个例子:

// File 1 - adding.js

var c;

function add(a, b) {
    c = a + b;
    return c;
}
// File 2 - main.js

var d;
d = add(6, 4);

据我所知,这会起作用,main.js可以访问 中的脚本adding.js,而无需导出add()函数。

使用非浏览器 JavaScript 时可能会有所不同,或者我误解了什么是模块,但如果是这样的话,为什么还要使用模块呢?

标签: javascriptfunctionmodule

解决方案


yes, you are right, you don't need to export add function but you should be careful with the order of importing files. Meaning that you should import adding.js before importing main.js.

<html>
    <head>
        ...
    </head>

    <body>
        ...
        <script src="adding.js">
        </script>
        <script src="main.js">
        </script>
    </body>
    
</html>

推荐阅读