2015-04-10 3 views
0

Внутри моего HTML файла, я использую это:Node.js возвращающие JS файл локально

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

Однако мне не разрешено подключаться к Интернету во время бега. Как я могу использовать узел js для локального возврата этого файла. Я уже загрузил этот файл «jquery.min.js» в свою локальную машину.

Я пытаюсь использовать этот код, но он не работает.

function callback(data) { 
    res.writeHead(200, {"Content-Type": "text/html"}); 
    var str = data+""; 
    res.write(str);  
    res.end(); 
} 
HTMLtemplate.load("jquery.min.js", callback); 
+0

Мне непонятно, что вы пытаетесь сделать. Вы пытаетесь загрузить jquery в свой браузер с узла сервера? Если это так, просто используйте узел, чтобы обслуживать некоторые статические активы и загружать их, как

+0

Не могли бы вы рассказать мне больше об этом? Я хочу загрузить jquery в свой браузер с узла сервера. как статические активы сервера. – John

+0

Вы используете экспресс? –

ответ

1

Вы не можете легко обслуживать как веб-страницы и JQuery в простом сервере узла, который выглядит следующим образом:

var http = require('http'); 


var server = http.createServer(function (request, response) { 
response.writeHead(200, {"Content-Type": "text/plain"}); 
response.end("Hello World\n"); 
}); 
server.listen(8000); 

Я думаю, что вы будете нуждаться в какой-то маршрутизатор или рамки для обслуживания несколько конечных точек http и статических активов. Многие люди используют выражения:

http://expressjs.com/

Или даже что-то же просто, как это:

https://github.com/creationix/node-router

Я полагаю, вы могли бы служить веб-страницу с JQuery встроенной в него с помощью голого сервера узла (это только псевдо-код):

var http = require('http'); 
var fs = require('fs'); 
var html = "<!DOCTYPE html> 
<html> 
<head lang="en"> 
    <meta charset="UTF-8"> 
    <title></title> 
<script>REPLACEME</script> 
</head> 
<body> 

</body> 
</html>"; 

var server = http.createServer(function (request, response) { 
    fs.readFile('jquery.js', 'utf8', function (err,data) { 
      response.writeHead(200, {"Content-Type": "text/html"}); 
      response.end(html.replace('REPLACEME', data)); 

    }); 

}); 
server.listen(8000); 

Но это кажется очень неправильным exce pt, возможно, как упражнение, демонстрирующее, что делает веб-инфраструктура. Если вы не делаете это для школы, просто установите одну из вышеуказанных фреймворков (или некоторых других), и это будет легко.

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