
server.js :
const express = require('express')
const app = express()
const { ObjectId } = require('mongodb')
const { MongoClient } = require('mongodb')
app.set('view engine', 'ejs')
app.use(express.static(__dirname + '/public/'));
app.use(express.json())
app.use(express.urlencoded({extended:true}))
let db;
const url = 'mongodb+srv://smjdvill:k7VMiAbJgHzfdydv@clusteas.gpbp76u.mongodb.net/?retryWrites=true&w=majority'
new MongoClient(url).connect().then((client)=>{
console.log('DB연결성공')
db = client.db('forum')
}).catch((err)=>{
console.log(err)
})
app.listen(8080, () => {
console.log('http://localhost:8080 에서 서버 실행중')
})
app.get('/', (요청, 응답) => {
응답.render('home.ejs',{})
})
app.get('/list', async(요청, 응답) => {
let result =await db.collection('post').find().toArray()
응답.render('list.ejs',{글목록 : result})
})
app.get('/write',(요청,응답) =>{
응답.render('write.ejs',{})
})
app.post('/add',(요청,응답) =>{
if(요청.body.title == '' || 요청.body.content == '') {
응답.send("<script>alert('제목 및 내용을 적으세요')</script>")
}
else{
try{
db.collection('post').insertOne({ title : 요청.body.title, content : 요청.body.content })
응답.redirect('/list')
} catch(e){
console.log(e)
응답.status(500).send('오류다')
}
};
})
app.get('/detail/:id', async(요청,응답)=>{
try {
let result = await db.collection('post').findOne({ _id : new ObjectId(요청.params.id) })
if (result == null) {
응답.status(400).send('그런 글 없음')
} else {
응답.render('detail.ejs', { result : result })
}
} catch (e){
응답.send('잘못된 링크')
}
})
이렇게 css가 잘못된 링크가 됩니다 다른 페이지는 css 적용 잘됩니다.