簡體   English   中英

Node.js在本地返回JS文件

[英]Node.js return a JS file locally

在我的html文件中,我正在使用以下代碼:

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

但是,跑步期間我不允許連接到互聯網。 如何使用node 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); 

您無法輕松地在如下所示的簡單節點服務器中同時提供網頁和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);

但這似乎是非常錯誤的,除了可能是作為演示Web框架功能的練習。 除非您在學校這樣做,否則只需安裝上述框架之一(或其他框架),這將很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM