由于MIME类型不匹配导致资源被阻止

时间:2017-01-30 22:23:04

标签: javascript node.js express handlebars.js

我的CSS和Javascript文件的所有The resource from “[URL and name of file]” was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).错误。

我目前拥有的设置是使用Express和Express-Handlebars进行路由和模板的node.js服务器。我确定问题归结于我的文件路由,这些文件会要求处理/movies/:id/search/query:等路由。我有点通过在我的main.hbs文件中创建两个指向CSS和Javascript文件的链接来解决这个问题(一个是默认主模板),一个链接来自/而另一个链接来自{{1} }}。我知道可怕的做法。但到目前为止,它确实奏效了。

但这就是为什么我要求帮助一劳永逸地解决MIME类型不匹配错误。因为当我将它上传到我的数字海洋服务器时,它根本不会工作。我不知道如何解决它。

我的文件结构如下:

/something/something

在index.js中,我有代码来设置把手和一些管理CSS和Javascript文件的代码。

/
    views/
        css/
        js/
        layouts/
            main.hbs
    index.js

路线的一个例子是

app.engine('.hbs', exphbs({
    defaultLayout: 'main',
    extname: '.hbs',
    layoutDir: path.join(__dirname, 'views/layouts')
}));

app.set('view engine', '.hbs');
app.set('views', path.join(__dirname, 'views'));
app.use(express.static(__dirname + '/views'));

我真的坚持要做什么。我觉得我已经到过互联网的各个角落,我无法找到解决问题的方法。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

这与点有关。我有同样的问题。我发现我的所有文件都是filename.min.js。所以我删除了第一个点并将文件名更改为filenamemin.js并且它有效。也许express会在第一个点之后读取所有内容作为文件扩展名。