不支持MIME类型('text / html')

时间:2018-12-10 00:00:40

标签: javascript node.js express

这是几行代码...我正在运行另一个应用程序,该应用程序的设置完全相同,而且没有问题。

editor.html

这是链接标记

app.use('/app', express.static(__dirname + "/public"));

与此img标签相同

<link rel="stylesheet" type="text/css" href="/app/css/app.css">

我不确定为什么,但是似乎是以HTML格式发送文件。通常,这意味着在服务器上找不到该文件,但是我检查了一下并确认是该文件。

完整文件

<img src="/app/img/SCS-NewLogo_donl.svg" height="65px" width="350px" id="sc-logo">

目录结构

const express = require('express');
const config = require('./lib/config');
const bodyParser = require('body-parser');
const URLS = require('./lib/URLS.js');

const PORT = process.env.PORT || 9005;
const ENV = config.ENV || 'TEST';
const SERVER = config.SERVER;
const app = express();

app.set('views', './views');
app.set('view engine', 'ejs');

app.use('/app', express.static(__dirname + "/public"));
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

app.all(/^\/apps$/, function (req, res) {
  res.redirect('/apps/job-search');
});

app.get('/apps/job-search', (req, res) => {
  res.render('pages/search');
});

app.post('/apps/job-search/send-input', (req, res) => {

  // Send data to API server which will handle DB query...
  axios.get(URLS.GatherSearchResults)
    .then(resp => {
      console.log(resp.data);
    }).catch(err => {
      console.log(err)
    });
});

app.listen(PORT, () => {
  console.log('App is listening on port ' + PORT + ' on server ' + SERVER + '...');
});

1 个答案:

答案 0 :(得分:0)

我认为我看到您的问题。在将路由/app声明为静态后,您需要在几行后将其重新映射到'/apps/job-search'

将静态行更改为app.use('/', express.static(__dirname + "/public"));,HTML文件中的链接应以/css/img等开头。

通过尝试打开您现有的链接之一,并查看您当前正在提供的内容来验证这一点(我猜-'/apps/job-search'上的内容)。