如何在 Node.js Web 服务器中使用超链接?

我正在尝试向用户发送不同的 html 文件,其中 index.html 是一堆超链接,用户可以单击以查看该文件,但是每当我收到一条错误消息“无法获取(该文件的名称)”时单击一个超链接。


var app = require('express')();

var http = require('http').createServer(app);


app.get('/', function(req, res){

  res.sendFile(__dirname + '/index.html');

});



http.listen(3000, function(){

  console.log('listening on *:3000');

});

这是我的 index.html:


<html>


<a href="/pongClient.html">Pong Game </a>


</html>


慕斯王
浏览 126回答 3
3回答

不负相思意

您可以像这样定义一个公共静态文件夹:app.use(express.static(__dirname&nbsp;+&nbsp;'/public'));您在公共文件夹中的所有内容都可以在您的 URL 的根目录中访问(即/pongClient.html)

蝴蝶不菲

Nodejs 与超链接无关。但是,如果您希望您的用户访问不同的页面,请使用app.get('/', function(req, res){&nbsp; res.send('<p><a href="http://localhost:80/pongClient.html">Pong Game</a></p>\n');});端口号是 80(我假设您的 Web 服务器端口是 80)。主要是您必须提供完整的 URL(可访问的)。

肥皂起泡泡

基本上,您必须设置node服务器,以便它知道从何处获取文件,并且在这种情况下您可以设置静态服务器。express 中的语法可以在这里找到要提供静态文件(例如图像、CSS 文件和 JavaScript 文件),请使用express.staticExpress 中的内置中间件功能。var app = require('express')();var http = require('http').createServer(app);app.use(express.static(__dirname)) //since the index.html and probably pongClient.html are in the current directory based on your code.http.listen(3000, function(){&nbsp; console.log('listening on *:3000');});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript