2013-08-01 2 views
1

У меня есть простой скрипт узлазапуск несколько файлов на узел JS в то же время

var http = require('http'); 

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

теперь, когда я запускаю это, я могу пойти на локальный хост: 1337 и увидеть выход, но в командном модуле, его по какой-то причине заморозили. пока я не нажму ctrl + C, он не будет заморожен, и только после того, как Ctrl + C im позволит выполнить больше файлов.

это только я или его способ, которым он был разработан. Если это может кто-то указать мне в правильном направлении, как всегда его слушать на порте 1337 или другом для разных файлов.

+0

какая версия узла вы используете? Я скопировал ваш файл в мой (0.10.9) и был в порядке (мог получить HTTP-ответ на 1337, но все равно мог ввести в подсказку) – Matt

+0

im running 0.10.15 .... моя застревает до ctrl + c – Anup

+0

от их веб-сайт http://nodejs.org/download/ 0.10.15, который является текущей версией, и btw его на окнах 8 с командной строкой узла js. – Anup

ответ

2

Это нормальное поведение. Узел будет только выйти, если вам больше нечего делать (или если вы вручную остановите его через Ctrl + C). Поскольку вы сказали http: listen(), процесс останется в живых на неопределенный срок.

Не совсем понятно, что вы просите, но если вы хотите запускать дополнительные файлы внутри своего приложения, вы просто require() их.

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

otherFile теперь будет установлен на все, что вы делаете, чтобы module.exports в otherFile.js.

Вы должны read the module documentation, чтобы получить полное представление о том, как работает require.

Если вы хотите одновременно запускать другие несвязанные файлы с узлом, откройте отдельное окно командной строки.


я теперь читать между строк немного: он выглядит, как вы могли бы быть интересно, как получить HTTP обслуживать файлы с диска, как и другие веб-серверы. Узел не работает, как традиционные веб-серверы. Ваш код должен явно обрабатывать обслуживание вещей с диска.

К счастью, существуют рамки/библиотеки, которые упрощают работу. Если вы создаете какой-либо веб-сервис, вы должны действительно использовать фреймворк, а не необработанный http-модуль. Рекомендую посмотреть Express. Легко обслуживать файлы с диска express.static.

Смежные вопросы