gpt4 book ai didi

node.js - JavaScript 中模块和库的区别

转载 作者:IT老高 更新时间:2023-10-28 23:25:29 28 4
gpt4 key购买 nike

我正在学习 ES6 模块。但我对模块和库之间的区别感到困惑。

还有模块和库与 node.js 包的不同之处。

最佳答案

一个 module是软件的一个单元。这指的是 - 根据上下文 - 源代码的自包含部分,前者所在的文件,或所述代码声明(或在执行时生成)的模块对象(数据结构)。
通常,它们之间存在 1:1:1 的关系,这是一个很好的做法。您很少会在同一个源文件中找到多个模块1。 ES6 实现将通过将单个文件作为单个模块来强制执行此操作,可以通过其唯一名称导入 - 就像以前使用 CommonJS 一样或 AMD模块。
除了 ES6 模块之外,还有 模块模式,它使用 IIFE 封装代码并创建单例对象。见 What is this JavaScript pattern called and why is it used? , hereJS design patterns book了解详情。
由于模块化是如此重要,因此有许多方法可以实现 模块加载器,每种方法都有自己的语法和微妙之处,通常是更大框架的一部分。见 this article进一步讨论。

一个 library是一组有用的东西,它们属于一起并作为一个整体分布。这可能包含的不仅仅是纯源代码或单一语言,但通常不是当我们谈论“javascript 库”时。一个库,由一组 js 函数组成,通常将它们导出为一个模块。

1:除非它们被缩小为单个脚本。此外,HTML5 可能会引入声明内联 ES6 模块的方法。

关于node.js - JavaScript 中模块和库的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31339656/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com