在我的html文件中,我使用的是:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
但是,在运行期间我不允许连接到互联网。如何使用节点js在本地返回此文件。我已经下载了这个文件&#34; jquery.min.js&#34;在我的本地机器上。
我正在尝试使用此代码,但它不起作用。
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 :(得分: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端点和静态资产。很多人使用快递:
甚至可以这么简单:
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框架功能的练习。除非你在学校这样做,否则只需安装上述框架之一(或其他一些框架)就可以轻松实现。