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



如果有。我对网络技术不是很感兴趣,但是我不得不理解别人用Node写的一些糟糕的代码。

一旦你执行了npm init,所有node.js应用都是npm模块。在那之后,你可以通过执行npm publish来发布模块,假设你在package.json中给了它一个唯一的名字。

如果应用程序不打算返回任何东西,那么就不需要导出任何东西。然而,导出一些内容来进行更深入的单元测试几乎总是值得的,而不仅仅是将应用程序作为http服务器启动并向其发送请求。

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

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

最新更新