JavaScript中模块和库之间的区别

时间:2015-07-10 11:29:13

标签: node.js javascript

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

以及模块和库与node.js包的不同之处。

1 个答案:

答案 0 :(得分:9)

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

library是有用的东西的集合,它们属于一起并作为一个整体分发。这可能不仅包括纯源代码或多于一种语言,但通常不是在我们谈论" javascript库时#34;。由一组js函数组成的库通常将它们作为模块导出。

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

相关问题