node.js中的头文件 – 套接口io资源解释为脚本,但是以MIMEtypes传递text / plain:
我是新来的node.js,我不明白如何工作。 我试图附加到我的项目fancybox在我的index.html,但它不起作用。 我正在使用c9.io工作区,所以它看起来像<script src="http://space.......c9.io/jquery.fancybox-1.3.4.js"></script>
I仍然在控制台中得到相同的错误: socket io资源解释为脚本,但以MIMEtypes传递text / plain:
请问有没有人能解释我这个尽可能简单?
我的js文件
var http = require("http"), express = require('express'), app = express(), server = app.listen(process.env.PORT), io = require('socket.io').listen(server) app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.sockets.on('connection', function (socket) { });
我认为你的问题的解决scheme是一个小的type="text/javascript"
,你应该添加到您的脚本标记,但这是一个低mimetypes:
以下是使用原始Nodej时设置标题的一些文本 。
使用Express时, 这也是一样的 。
这里是维基百科的mimetypes 。
我不是一个专家,但据我所知,每个从服务器发送到客户端(浏览器,大多数)的信息的文件夹或chuck带有这个基本上告诉浏览器如何处理文件/卡盘的MIMEtypes。您的浏览器即使没有收到头文件,也能够正确处理该文件+他足够聪明地通知您其他浏览器可能不那么聪明。
这是我如何写它:
app.get('/',function(request,response){ response.set('Content-Type', 'text/html'); // 'text/html' => mime type response.sendfile(__dirname + 'index.html') }
这里列出了很多mimetypes。 但我想你可以只是谷歌的东西像“{文件扩展名} MIMEtypes”和谷歌将竭诚为您服务。
或者,您可以使用这个小包来将response.set('Content-Type', 'text/html')
改为response.set('Content-Type', mime.lookup(x));
– x是一个string,如“kuku.mpeg”,MIME将返回currect mimetype。 我用它来解决每个文件types都有很多子文件夹的插件。
HTTP标头是包含有关HTTP请求或响应的信息的字段。 它有助于服务器或客户端识别如何处理数据,无论是要接受的数据types,请求或响应的大小,请求的来源,是否caching数据等等。
在HTTP中,MIME头部会告诉客户端或服务器什么types的数据将被发送或接收。 您收到的错误消息可能意味着浏览器认为它将接收MIMEtypes的text/javascript
但接收text/plain
。
Resource interpreted as script but transferred with MIME type text/plain
要解决此问题,请在发送脚本文件时指定内容types:
app.get('/script.js', function(req, res) { res.set('Content-Type', 'text/javascript'); res.sendfile('./script.js'); });
请注意,HTTP头不是特定于Node.js,但是HTTP协议的一部分。
- Node.js – 文件系统获取文件types
- npm @types软件包的typesglobalDevDependencies的等价性是什么?
- Typescript和Node js得到“不是函数错误”
- 为request.post设置内容types的标题为json
- 区分节点的本地function和匿名function
- Javascript node.js ORM,遵循数据映射器模式
- 在全新的快递项目doctype 5`上出现错误,您现在必须使用`doctype html`
- 如何在@types上为范围/命名空间包安装TypeScript声明?
- Node.js SyntaxError:ANTLR4 JavaScript Lexer中的意外标识符“boolean”