我创建了一个 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>
, 然后你的浏览器会要求你的 Node 应用程序给出 myjs.js
的内容但您的服务器不知道如何处理它。
您可以尝试添加如下代码,看看是否有帮助。
app.get('/myjs.js', function (req, res) { res.sendfile(__dirname + '/myjs.js'); });
正如dimadima所说,Express提供了一个模块来处理静态文件,你可以像这样使用
app.use(express.static(__dirname + '/public'));
关于javascript - 如何使用 Node js 将图像和 javascript 文件发送到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367556/