Node.js 在Hapi.js中提供静态文件时,如何确保发送正确的mime类型?
我们正在尝试在我们的Hapi.JS项目中提供静态文件(JS/CSS/etc),需要确认我们得到了正确的Mime类型 代码(简化) 示例/staticfiles.jsNode.js 在Hapi.js中提供静态文件时,如何确保发送正确的mime类型?,node.js,mime-types,hapijs,Node.js,Mime Types,Hapijs,我们正在尝试在我们的Hapi.JS项目中提供静态文件(JS/CSS/etc),需要确认我们得到了正确的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 }); s
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;
示例/视图/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>
根据文件:
在浏览器中访问url:我们会看到:
当我们curl-vhttp://127.0.0.1:5000/public/hello.js
console.log('hello (should print in the console)');
我们看到:
这表明正在向客户端发送正确的内容类型
注:
- 如果要帮助调试,请在GitHub上编写代码:
- Node.js版本:v0.12.1
- Hapi.js版本:8.2.0
- 运行时使用:
节点示例/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;
提前感谢您的帮助 我看这里没有问题。Hapi为静态文件提供正确的mime类型(应用程序/javascript)。您可以在curl的输出中看到,也可以在浏览器中看到: 当您访问并打开控制台时,可以看到执行了
console.log
在twitter上得到了一些回复。mime类型正确。请尝试使用Hapi在文档中引用的mimos模块。Good shout@BingeBoy将使用mimos-下次我们需要识别mime类型时。谢谢