sjh-simple-web
Version:
CORS 허용 static 서버 + 디렉토리 목록
29 lines (23 loc) • 968 B
JavaScript
const express = require("express");
const path = require("path");
const serveIndex = require("serve-index");
// 명령줄 인자로 포트와 폴더 받기
const PORT = process.argv[2] || 8080;
const FOLDER = process.argv[3] || "."; // 두 번째 인자가 없으면 현재 폴더
const app = express();
// 모든 CORS 허용
app.use((req, res, next) => {
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
res.setHeader("Access-Control-Allow-Headers", "*");
next();
});
// 호스팅할 폴더 절대 경로
const hostDir = path.isAbsolute(FOLDER) ? FOLDER : path.join(process.cwd(), FOLDER);
app.use("/", express.static(hostDir), serveIndex(hostDir, { icons: true }));
// 서버 시작
app.listen(PORT, () => {
console.log(`Server is running at http://localhost:${PORT}`);
console.log(`Hosting folder: ${hostDir}`);
});