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

时间:2015-08-05 13:54:29

标签: node.js node-modules

如果有的话。我不是真正参与网络技术,而是必须了解Node中其他人编写的一些糟糕的代码。

1 个答案:

答案 0 :(得分:0)

执行npm init后,所有node.js应用程序都是npm模块。在那之后,您可以通过执行npm publish来发布模块,假设您在package.json中为其指定了唯一的名称。

如果该应用并不意味着返回任何内容,则无需导出任何内容。但是,它几乎总是值得导出某些以允许进行单元测试,而不仅仅是将应用程序作为http服务器启动并发送请求。

根据是否需要将应用程序作为模块或作为应用程序执行,修改应用程序的运行方式也是有用的。例如,假设我有一个快速休息api服务器。我可以在api.example.com上将其作为独立服务器运行,然后需要到另一个应用程序中并直接从该应用程序运行它以避免CORS问题而无需重复代码或处理git子模块相反,我只是简单地将api安装到需要它的应用程序中,并像路由器一样附加它。 www.example.com/api

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