我如何使用Node js发送图像和javascript文件到浏览器

How do I send images and javascript files to the browser using Node js

本文关键字:javascript 文件 浏览器 图像 何使用 Node js      更新时间:2023-09-26

我创建了一个Node.js服务器,当Javascript是HTML页面的一部分时,它运行良好。我将JS移动到另一个文件并添加了一些图像。现在它不会将图像或JS加载到浏览器中。然而,当我直接打开网页时,网页呈现完美。这是我的服务器的样子:

app.get('/',function(req,res){
    res.end('Hello World!Go to /map to see the google map');
});
app.get('/map',function(req,res){
    var conn;
    //images must be sent to the client from the server...
    res.sendfile(__dirname+'/client/google_maps.html');
    //receiving requests from jQuery 
});

我没有使用Express项目结构或Express中间件或Express配置来做到这一点。

如果这就是你所有的代码,我认为你遇到的问题是合理的。您没有告诉服务器在浏览器请求时如何响应您的图像和脚本。例如,在你的google_map.html文件中,你有<script src="myjs.js"></script>,然后你的浏览器会要求你的节点应用程序提供myjs.js的内容,但你的服务器不知道如何处理它。

你可以试着添加下面的代码,看看是否有帮助。

<>之前App.get ('/myjs.js', function (req, res) {Res.sendfile (__dirname + '/myjs.js');});之前

正如dimadima所说,Express提供了一个模块来处理静态文件,您可以像

那样使用它。<>之前app.use(表达。Static (__dirname + '/public'));