没有任何导出的 NodeJS 模块有什么意义?

What is sense of NodeJS modules without any exports?

如果有的话。我不是很喜欢网络技术,但必须理解其他人用 Node 编写的一些糟糕的代码。

一旦您执行 npm init,所有 node.js 应用程序都是 npm 模块。在那之后,您可以通过执行 npm publish 来发布模块,假设您在 package.json.

中给了它一个唯一的名称

如果该应用不打算 return 任何内容,则无需导出任何内容。但是,几乎总是值得导出 something 以允许进行更深入的单元测试,而不仅仅是将应用程序作为 http 服务器启动并向其发送请求。

根据应用是作为模块需要还是作为应用执行,有时修改应用的方式 运行 也很有用。例如,假设我有一个 express rest api 服务器。我可以 运行 它作为 api.example.com 上的独立服务器,然后 要求 它进入另一个应用程序并直接从该应用程序 运行 它以避免 CORS无需重复代码或处理 git 子模块即可解决问题,相反,我只是将 api npm install 到需要它的应用程序中,然后像连接路由器一样附加它。 www.example.com/api

app.use('/api', require('@myusername/api.example.com'))