Javascript 由于MIME类型不匹配,资源被阻止
由于MIME类型不匹配(X-Content-type-Options:nosniff),“[URL and name of file]”中的资源被阻止。对于我所有的CSS和Javascript文件,我一直收到这个错误 我目前的设置是一个node.js服务器,使用Express和Express Handlebar进行路由和模板设置。我确信问题在于我的文件路由,这些文件会要求处理像Javascript 由于MIME类型不匹配,资源被阻止,javascript,node.js,express,handlebars.js,Javascript,Node.js,Express,Handlebars.js,由于MIME类型不匹配(X-Content-type-Options:nosniff),“[URL and name of file]”中的资源被阻止。对于我所有的CSS和Javascript文件,我一直收到这个错误 我目前的设置是一个node.js服务器,使用Express和Express Handlebar进行路由和模板设置。我确信问题在于我的文件路由,这些文件会要求处理像/movies/:id或/search/query:这样的路由。通过在我的main.hbs文件(默认的主模板)中创建指向
/movies/:id
或/search/query:
这样的路由。通过在我的main.hbs
文件(默认的主模板)中创建指向CSS和Javascript文件的两个链接,我已经解决了这个问题,一个链接来自/
,另一个链接来自/something/something
。我知道这种做法很糟糕。但到目前为止,它仍然有效
但这就是为什么我请求帮助一次性解决MIME类型不匹配错误的原因。因为当我把它上传到我的Digital Ocean服务器上时,它根本无法工作。我也不知道如何修复它
我的文件结构如下:
/
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
});
我真的被困在该做什么上了。我觉得我已经走遍了互联网的各个角落,我找不到任何解决问题的办法
任何帮助都将不胜感激。这与圆点有关。我也有同样的问题。我发现我所有的文件都是filename.min.js格式的。因此,我删除了第一个点,并将文件名改为filenamemin.js,它成功了。也许express会读取第一个点之后的所有内容作为文件扩展名。app.set('view engine','.hbs');试着把它去掉。从上面的代码行使用此应用程序。set('view engine','hbs')您找到解决方案了吗?