gpt4 book ai didi

node.js - 在 Hapi.js 中提供静态文件时,我们如何确保发送正确的 MIME 类型?

转载 作者:搜寻专家 更新时间:2023-11-01 00:07:39 24 4
gpt4 key购买 nike

我们正在尝试在我们的 Hapi.js 项目中提供静态(JS/CSS/等)文件,需要确认我们是获取正确的 Mime 类型。

代码(简化)

例子/staticfiles.js
var Path = require('path');
var Hapi = require('hapi');
var server = new Hapi.Server();
var port = process.env.PORT || 5000;

server.connection({ port: port });

server.views({
engines: {
html: require('handlebars')
},
path: Path.join(__dirname, 'views')
});

server.route([
{ path: '/',
method: 'GET',
config: {
auth: false,
handler: function(request, reply) {
reply.view("index");
}
}
},
{
method: 'GET',
path: '/public/{param*}',
handler: {
directory: {
path: Path.normalize(__dirname + '/public')
}
}
}
]);

server.start(function(){
console.log('Static Server Listening on : http://127.0.0.1:' +port);
});

module.exports = server;
例子/views/index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Serving Static Content in Hapi.js 8.2</title>
</head>
<body>
<h1> Open the Console...</h1>
<script src="/public/hello.js"></script>
</body>
</html>
示例/public/hello.js
console.log('hello (should print in the console)');

根据文档文档:http://hapijs.com/tutorials/serving-files

在浏览器中访问url: http://127.0.0.1:5000/public/hello.js 我们看到:

loading a js file prints the code in the browser - does not run

当我们curl -v http://127.0.0.1:5000/public/hello.js

我们看到:

curl -v public/hello.js

这表明正在向客户端发送正确的内容类型。

注意事项:

提前感谢您的帮助!

最佳答案

我看不出有什么问题。 Hapi 使用正确的 mime 类型(应用程序/javascript)提供静态文件。你可以在 curl 的输出中看到这一点,你也可以在浏览器中看到它:

enter image description here

当您访问 http://127.0.0.1:5000/ 时然后打开控制台,可以看到执行了console.log

enter image description here

关于node.js - 在 Hapi.js 中提供静态文件时,我们如何确保发送正确的 MIME 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29417210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com