微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – JavaScript中模块和库之间的区别

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

以及模块和库如何与node.js包不同.

解决方法

A 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库”时.由一组js函数组成的库通常将它们作为模块导出.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐