繁体   English   中英

js 文件和 js 模块有什么区别?

[英]What is the difference between a js file and a js module?

我试图搜索,但找不到这个问题的精确/简洁的答案。 它似乎被松散地和可互换地使用,IMO。 谁能教教我?

好吧,我们可以在这里获得真正的技术。

文件是操作系统上可以处理 IO 信息存储的任何东西,其中有多种类型,即文本文件和目录。 目录是一种特定类型的文件,允许在其中存储其他文件。

当您谈论“js 文件”时,它是“具有 .js 扩展名和 javascript 的文本文件”的俚语。

在现代 javascript 模块中,模块用于创建更清晰分离和可重用的模块化代码段,这些代码段可以导出和导入到其他模块(技术文件)中。 它们有点像其他语言中的命名空间(不是真的,而是某种),但每个文件只能有一个命名空间(模块)。

您还可以拥有不是模块的 js 文件,所有模块都是文件但并非所有文件都是模块。

好问题!

背景: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 被分解成自己的文件,以便于管理。

例子:
索引.html
主文件
模块/
画布.js
square.js

上面例子的图片

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM