JavaScript MIME类型是application / octet-stream nodejs

时间:2012-04-08 00:38:04

标签: node.js express

我正在为节点js编写一个组合器模块。 我正在使用express来获取如下文件:

app.get('/combine/js/?files=scripts/file1.js;scripts/file2.js', function(req, res){
    res.contentType('text/javascript');
    res.end(content); //the combined files content
});

现在,当页面加载时,我在chrome中遇到以下错误: '资源被解释为脚本,但使用MIME类型application / octet-stream'

进行传输

我做错了什么?

更新:这是响应内容的完整app.get组合器功能......

    app.get('/combiner/:type/?', function(req, res){
        var type = req.params.type;
        var files = [];
        files = req.query.files.split(';');
        var content = combiner.combine(type, files);
        switch(type){
                case 'js': res.contentType('text/javascript'); break;
            case 'css': res.contentType('text/css'); break;
        }
        content = content.replace('<:=appid=:>', vars.appid);
        res.end(content);
    });

1 个答案:

答案 0 :(得分:2)

从我所看到的情况来看,Express文档可能在这里出错了。他们清楚地说,给mime类型会起作用,但这不会发生在你或我的测试中。

您应该自动设置内容类型:

res.header('Content-Type', 'application/javascript');

或将文件扩展名传递给res.contentType()

res.contentType('js');