首页 > 解决方案 > What is the difference between a js file and a js module?

问题描述

I tried to search, but cannot find precise / concise answer to this question. It appears to be used loosely and interchangeably, IMO. Anyone can teach me?

标签: javascriptmodule

解决方案


好问题!

背景:JavaScript 文件过去非常小,但随着 JavaScript 语言变得越来越流行,JavaScript 文件变得如此之大,以至于引入了“模块”来帮助将 JavaScript 代码分解成更小、更易于管理的部分。

那么这是什么意思?

简而言之,模块是一个 javascript 文件,它被结构化为更小、更易于管理的文件大小。

这是一篇关于 MDN Web Docs 的更详细的文章:
https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules

在下面的示例中,main.js 是一个不是模块的 javascript 文件,但 canvas.js 和 square.js都是javascript 模块。所有 3 个都是 javascript 文件,但 canvas 和 square 被分解成它们自己的文件以便更易于管理。

示例:
index.html
main.js
modules/
canvas.js
square.js

上述示例的图像

这是上面示例的 Github 上代码的链接: https ://github.com/mdn/js-examples/tree/master/modules/basic-modules


推荐阅读