Open jeongjo13 opened 3 months ago
오류 코드 보여주세요.
정확한 오류 코드는 현재 재현이 어려우나 router.js 27번 줄에서 문제가 있던 걸로 기억합니다.
오류 메시지 내용이 대충 undefined를 replace 못한다는 내용이었습니다.
원본 병아리를 깔아서 다시 재현해보겠습니다.
undefined:25 var textarea = ; ^
TypeError: Cannot read property 'replace' of undefined
at editDocument (eval at
재현 상황을 알려주세요
windows 11입니다.
nodejs command prompet인가 사용했습니다.
저기서 값이 undefined여서 그렇습니다
undefined 값에는 당연히 replace 메소드가 없으니 오류가 뜨는 것이고요
그럼 어떻게 코드를 고쳐야 undefined가 안 뜨나요?
근데 glitch는 안 그럽니다
혹시 타 라우트 수정하신 적 있으신지요? router.js:27:5 라인 오류는 대부분 라우트 수정중 발생하는 오류여서요.
코드도 보니까 router.js 코드가 아닌 것으로 보이네요
어떤 시점에 해당 오류가 뜨나요? (ex. /edit/ 접속시, 권한 부여시 등)
혹시 타 라우트 수정하신 적 있으신지요? router.js:27:5 라인 오류는 대부분 라우트 수정중 발생하는 오류여서요.
그게 뭔가요?
/edit/ 접속 시 edit page는 로딩이 잘 되는데 로딩 완료 직후 오류납니다
/edit/ 접속 시 edit page는 로딩이 잘 되는데 로딩 완료 직후 오류납니다
그러면 아마 edit.js 관련 오류일 것 같네요.
var error = null; var content = ''; var section = Number(req.query['section']) || null; var baserev = 0; var data = await curs.execute("select rev from history where title = ? and namespace = ? order by CAST(rev AS INTEGER) desc limit 1", [doc.title, doc.namespace]); if(data.length) baserev = data[0].rev; var token = rndval('abcdef1234567890', 64); var textarea =
<textarea id="textInput" name="text" wrap="soft" class=form-control>${(req.method == 'POST' ? req.body['text'] : rawContent).replace(/<\/(textarea)>/gi, '</$1>')}</textarea>
;
// 틀:나무위키 -> helptext
문제 원인의 코드입니다. 이 부분의 수정이 필요해보이네요.
@jeongjo13 혹시 해당 오류가 '새 문서를 생성할 때' 생기나요? 만약 그렇다면 제 가설이 성립합니다.
기존 문서 편집 시에도 오류가 발생합니다.
제 서버도 그렇고 다른 분 서버도 그렇습니다.