在软件领域,中间件是在应用与应用之间充当连接服务的,这并非是nodejs的概念,其他领域也会有这个概念。
举个例子,比如消息队列、数据库驱动等。
插件一般来说extra的,就是你整个系统或应用不需要插件也能正常工作,插件一般是提供一些额外功能。而且插件这个词本身代表的就是可拓展的(形象的说,可插拔)。 我个人认为 plugin/addon = extra feature
模块一般是系统的负责某一功能的一部分,不可或缺。即 module = a part of system/application
在 nodejs 里一般你在 package.json 里指定的那些package 都是 module,当然你从文件名 node_modules 也能看出来。
中间件就是不能独立运行,需要依附一个平台或者系统才能使用的,类似于工具的