Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 由于MIME类型不匹配,资源被阻止_Javascript_Node.js_Express_Handlebars.js - Fatal编程技术网

Javascript 由于MIME类型不匹配,资源被阻止

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文件(默认的主模板)中创建指向

由于MIME类型不匹配(X-Content-type-Options:nosniff),“[URL and name of file]”中的资源被阻止。对于我所有的CSS和Javascript文件,我一直收到这个错误

我目前的设置是一个node.js服务器,使用Express和Express Handlebar进行路由和模板设置。我确信问题在于我的文件路由,这些文件会要求处理像
/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')您找到解决方案了吗?