【deno】denopkg.com 경유로 인스톨 한 모듈을 이용하려고 하면, 「An import path cannot end with a '. ts'extension.」의 에러가 발생한다
5174 단어 VimTypeScript에서
deno.land에서 다운로드한 모듈에 대해서는 에서 _ls_p ㅅ긴 를 도입하는 것으로, 「An import path cannot end with a '. ts'extension...」의 에러를 회피할 수 있게 되었다.
그러나 dem을 사용하여 denopkg.com에서 dinatra을 설치하려고했는데 위 페이지와 비슷한 이벤트가 발생했습니다.
$ dem add https://denopkg.com/syumai/[email protected]
전제
Vim 등의 에디터를 이용하는 경우를 상정하고 있습니다.
vscode를 이용하는 경우는 vscode-deno 플러그인을 도입하는 것으로 해결한다고 생각합니다.
해결책
typescript-deno-plugin을 도입하고 tsconfig.json에서 읽도록 설정하여 해결합니다.
$ yarn add -D typescript-deno-plugin typescript
tsconfig.json
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"baseUrl": ".",
"paths": {
"deno": ["./types/deno.d.ts"],
"https://*": [
"../../../.cache/deno/deps/https/*"
],
"http://*": [
"../../../.cache/deno/deps/http/*"
]
},
"plugins": [{ "name": "typescript-deno-plugin" }]
}
}
도입 후, 이하와 같이 형 정의를 해결할 수 있게 되었다.
원인
dem에 의해 작성된
./vendor/https/denopkg.com/syumai/dinatra/mod.ts
를 확인해 보면 "An import path cannot end with a '. ts'extension..."오류가 발생했습니다../vendor/https/denopkg.com/syumai/dinatra/mod.ts
export * from 'https://denopkg.com/syumai/[email protected]/mod.ts';
~/.cache/deno/deps/https/denopkg.com/syumai/[email protected]
디렉토리를 확인해 보았을 때, mod.ts
라는 파일은 존재하지 않고 대신 mod.ts.headers.json
라는 파일이 존재했습니다.내용은 아래와 같다.
~/.cache/deno/deps/https/denopkg.com/syumai/[email protected]/mod.ts.headers.json
{"redirect_to":"https://raw.githubusercontent.com/syumai/dinatra/0.7.1/mod.ts"}
이
mod.ts.headers.json
가 제대로 해결되지 않았기 때문입니다.typescript-deno-plugin은,
*.headers.json
파일이 존재하는 경우, redirect_to
의 참조처에 따라서, 형태 정의를 해결하는 처리가 행해지고 있기 때문에, 이 플러그인을 도입하는 것으로 문제가 해결되었다.
Reference
이 문제에 관하여(【deno】denopkg.com 경유로 인스톨 한 모듈을 이용하려고 하면, 「An import path cannot end with a '. ts'extension.」의 에러가 발생한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uki00a/items/8a055a9b27e69e0aec1d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)