๐ซ Refused to apply style from 'http://localhost:3000/src/css/common.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
๐ซ GET http://localhost:3000/index.js net::ERR_ABORTED 404 (Not Found)
์ ์ค๋ฅ ๋ฐ ํด๊ฒฐ๋ฒ์ ๊ดํด ์ ๋ฆฌํ๋ค.
์๋ฒ์์ ํ๋ก ํธ์๋์ index.js
๋ฅผ ๋ถ๋ฌ์ค๋ ๊ณผ์ ์์ ๋ฐ์ํ์๋ค.
ํ๋ก ํธ์๋์ ์๋ฒ์ธก ํด๋๋ฅผ ๋ถ๋ฆฌํ ์ํ์์ผ๋ฉฐ, ๋ถ๋ฌ์จ ํ์ผ ๋ด์ฉ๊ณผ ํด๋ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์๋ค.
โโfrontend
โ โโindex.js
โ โโindex.html
โ โโsrc
โ โโcommon
โ โโcss
โ โโjs
โโserver
โ โโindex.js
server/index.js
const express = require('express');
const path = require('path');
const app = express();
app.set('front', process.env.FRONT || path.join(__dirname, '../frontend'));
app.get('/', (req, res) => {
res.sendFile(path.join(app.get('front'), '/index.html')); // FIXME
});
frontend/index.html
<!DOCTYPE html>
<html>
<head>
<!-- FIXME -->
<link rel="stylesheet" href="./src/css/common.css" />
</head>
<body>
<canvas id="canvas"></canvas>
<script type="module" src="./index.js"></script>
</body>
</html>
href๋ก ์ฐ๊ฒฐํ ๋งํฌ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ผ๋ก ์ถ์ธก๋๋ค.
./src/css/common.css
์ ์ฃผ์์ฒด๊ณ์ ๋ฌธ์ ๊ฐ ์๋ ๋ฏ ํ๋ค.
index.html
์์ importํ ๊ฒฝ๋ก๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ๋ฅผ ์์ฑํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋งคํ๋๋ค.
ํ์ฌ ์๋ฒ์์๋ res.get()์ผ๋ก index.html๋ง ์ ๊ณตํด์ฃผ๊ณ ์๋ค. localhost/index.js
์localhost/src/css/common.css
๊ฒฝ๋ก์ ๋ํด ์๋ฒ์์ ์ ๊ณตํ๋ ํ์ผ์ด ์์ผ๋ ์คํ์ผ๋ ์ ์ฉํ ์ ์๊ณ 404์๋ฌ๋ ๋จ๋ ๊ฒ์ด์๋ค.
์ ์ ๊ฐ ์ ๊ทผํ๋ ๊ฒฝ๋ก | ์ค์ ๊ฒฝ๋ก | ์๋ฒ ์ ๊ณต ์ฌ๋ถ |
---|---|---|
localhost:3000 | frontend/index.html | O |
localhost:3000/index.js | frontend/index.js | X |
localhost:3000/src/css/common.css | frontend/src/css/common.css | X |
์๋ฒ์์ ๋๋จธ์ง ํ์ผ๋ค๋ ์ ๊ณตํด์ฃผ๋ฉด ๋๋ค.
express.ststic()
์ ์ด์ฉํ์ฌ ์ ์ ํ์ผ๋ก ๋๋จธ์ง๋ฅผ ์ ๊ณตํด์ฃผ์.
index.js
const express = require('express');
const path = require('path');
const app = express();
app.set('port', process.env.PORT || 3000);
app.set('front', process.env.FRONT || path.join(__dirname, '../frontend'));
app.use('/', express.static(path.join(app.get('front'), '/')));
app.listen(app.get('port'), () => {
console.log(app.get('port'), 'is listening...');
});
https://stackoverflow.com/questions/55882824/mime-type-text-html-is-not-a-supported-stylesheet
https://developerf1.com/how-to/solving-stylesheet-not-loaded-because-of-mime-type