Deno Deploy용 코드에서 [deno-ts 2339]를 수정하는 방법
6197 단어 denotypescriptdenodeploylsp
이 문서는 Deno Deploy용 코드를 작성하는 동안 발생한 [deno-ts 2339] 오류를 처리하는 방법을 요약한 것입니다.
발생하는 오류
오류는 편집기에 표시되는 오류입니다
[deno-ts 2339] [E] Property 'respondWith' does not exist on type 'Event'
.예를 들어 Hello World 페이지의 the official documentation 코드를 사용합니다.
// server.ts
addEventListener("fetch", (event) => {
const response = new Response("Hello World!", {
headers: { "content-type": "text/plain" },
});
event.respondWith(response);
});
이 모든 코드를 사용해도 오류가 발생합니다.
"
respondWith
가 Event
에 정의되어 있지 않습니다"라는 경고가 표시됩니다.Deno Deploy 환경에서 무시할 수 있으며
deployctl
, deno lint
특별히 화를 내지 않습니다.즉, LSP는 경고만 제공하므로 걱정할 필요가 없습니다.
그러나 개발 중에 계속 오류가 발생하는 것은 그리 유쾌하지 않습니다. 솔직히 말해서 귀찮습니다.
대처 방법
그것에 대한 문제는 deploy_feedback 저장소에서 제기되었습니다.
https://github.com/denoland/deploy_feedback/issues/13
그리고 이 문제가 언급되었습니다. 이 방법을 사용할 수 있습니다.
https://github.com/denoland/deployctl/issues/24#issuecomment-819272065
먼저 유형 정의 파일을 생성합니다.
❯ deployctl types > deploy.d.ts
다음으로
server.ts
의 첫 번째 부분에 Triple-Slash Directives를 추가합니다.https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
/// <reference path="./deploy.d.ts" />
addEventListener("fetch", (event) => {
const response = new Response("Hello Deno Deploy!", {
headers: { "content-type": "text/plain" },
});
event.respondWith(response);
});
이렇게 하면 오류가 제거됩니다.
그러나 지금
deployctl run . /server.ts
은 실패합니다.올바르게 작동하려면 런타임에 libs 옵션을 추가해야 합니다.
❯ deployctl run --libs="" ./server.ts
이것으로 오류 처리 및 실행을 위한 명령 조정이 완료됩니다.
태스크 러너 사용
매번 옵션을 입력하는 것이 번거롭습니다.
Deno의 태스크 러너인 Velociraptor를 사용하여 매번 입력할 명령을 등록할 수 있습니다.
https://velociraptor.run/
velociraptor.yml에 다음 설명을 추가합니다.
scripts:
dev:
desc: Starts local server
cmd: deployctl run --libs="" --watch ./server.ts
이제
vr dev
로 로컬 서버를 시작할 수 있습니다.❯ vr dev
폐쇄
개인적으로 Deno Deploy에서 실행된다는 가정 하에 점점 Deno 개발이 작성될 것이라고 생각합니다.
그래서 템플릿 저장소에 포함시켰습니다.
https://github.com/kawarimidoll/deno-dev-template
아래 글을 번역한 것입니다.
번역에 오류가 있으면 댓글을 남겨주세요.
https://zenn.dev/kawarimidoll/articles/efed8ada433f24
Reference
이 문제에 관하여(Deno Deploy용 코드에서 [deno-ts 2339]를 수정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kawarimidoll/how-to-fix-deno-ts-2339-in-the-code-for-deno-deploy-5b47텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)