同时在节点js上运行多个文件

我有一个简单的节点脚本

var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337); 

现在当我运行这个,我可以去localhost:1337,看到输出,但在命令模块,由于某种原因冻结。 直到我按Ctrl + C冻结,只有在Ctrl + C后,允许执行更多的文件。

这只是我或它的devise方式。 如果有人指出我正确的方向,那么总是要在端口1337或其他地方监听不同的文件。

这是正常的行为。 如果没有更多的事情要做(或者如果你通过Ctrl + C手动停止的话),节点只会退出。 既然你告诉HTTP来listen() ,这个过程将会无限期地保持下去。

这并不完全清楚你要问什么,但如果你想在你的应用程序中运行额外的文件,你只require()他们。

 var otherFile = require('./otherFile.js') // the .js is optional 

otherFile现在将被设置为任何你在其他文件module.exports中的module.exports。

您应该阅读模块文档 ,以充分了解需求如何工作。

如果要同时运行其他与节点无关的文件,请打开单独的命令提示符窗口。


现在我将在一行之间读一行:看起来你可能想知道如何让http像其他Web服务器一样从磁盘提供文件。 节点不能像传统的Web服务器一样工作。 你的代码必须明确地处理来自磁盘的事情。

幸运的是,有框架/库可以很容易地完成。 如果你正在构build任何types的Web服务,你应该使用一个框架而不是原始的http模块。 我build议看快递 。 使用express.static从磁盘提供文件很容易。