我一直得到这个错误的The resource from “[URL and name of file]” was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).
为 * 所有 * 我的CSS和Javascript文件。
我目前的设置是一个node.js服务器,使用Express和Express-Handlebars进行路由和模板。我确信这个问题是由于我的文件路由,它会有处理/movies/:id
或/search/query:
等路由的请求。我在main.hbs
文件中创建了两个到CSS和Javascript文件的链接,从而修复了这个问题(默认的主模板),一个有/
的链接,另一个有/something/something
的链接。我知道这是很糟糕的做法。但到目前为止,它起作用了。
但这就是为什么我请求帮助一劳永逸地解决MIME类型不匹配的错误。因为当我把它上传到我的数字海洋服务器时,它根本不起作用。而且我不知道如何修复它。
我的文件结构如下:
/
views/
css/
js/
layouts/
main.hbs
index.js
在index.js中,我有设置手柄的代码和一些管理CSS和Javascript文件的代码。
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'));
路径的示例如下
app.get('/search/:query', (request, response) => {
// Code goes here
});
我真的被困在做什么。我觉得我已经到了互联网的各个角落,我找不到任何解决我的问题。
任何帮助都将不胜感激。
1条答案
按热度按时间eeq64g8w1#
这和圆点有关,我也遇到过同样的问题,我发现我所有的文件都是filename.min.js格式,所以我去掉了第一个圆点,把文件名改为filenamin.js,这样就成功了,也许express把第一个圆点后面的所有东西都读作文件扩展名。