我的 CSS 和 Javascript 文件的
all都出现了
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 文件的链接解决了这个问题,一个链接来自 /
,另一个链接来自 /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会读取第一个点之后的所有内容作为文件扩展名。