Visual Studio Code에서 작업중인 Node 프로젝트에서 TypeScript를 사용하기 시작했습니다. Flow와 유사한 “옵트 인”전략을 따르고 싶었습니다. 따라서 해당 파일에 대해 TS를 활성화하기 위해 파일 // @ts-check
상단에 배치 했습니다 .js
. 궁극적으로 Flow와 동일한 “linting”경험을 원 하므로 Intellisense 경고 / 오류를 볼 수 있도록 TSLint 플러그인을 설치했습니다 .
하지만 내 파일은 다음과 같습니다.
// @ts-check
module.exports = {
someMethod: (param: string): string => {
return param;
},
};
내 tsconfig.json
파일은 …
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"allowJs": true
}
}
이 오류가 발생합니다. [js] 'types' can only be used in a .ts file.
아래 이미지와 같습니다.
내가 본 이 질문을 나에게 보여주지 않는 다음 vscode에서 자바 스크립트 유효성 검사를 사용하지 않도록 권장하지만, 어떤 타이프 라이터 인텔리 정보를.
TSLint 확장 문서에 언급 된대로 내 vscode 설정에서 설정 tslint.jsEnable
을 시도 true
했지만 운이 없었습니다.
.js
TypeScript와 함께 파일 을 사용 하고 Intellisense를 가져 와서 TS 명령을 실행하기 전에 코드의 오류가 무엇인지 알 수 있는 올바른 설정은 무엇입니까 ?
답변
내가 사용하고 @flow vscode과를하지만 같은 문제가 있었다.
이 단계로 해결했습니다.
- 확장 Flow Language Support 설치
- 내장 TypeScript 확장을 비활성화합니다.
내장 TypeScript를 비활성화하는 방법 :
- 확장 탭으로 이동
- 검색 타이프 라이터와 자바 스크립트 언어 기능 @builtin
- 비활성화를 클릭하십시오.
답변
사용 "javascript.validate.enable": false
그것은 비활성화 ESLINT을하지 않습니다, 당신 VS 코드 설정에서. ESLINT와 Flow를 모두 사용합니다. 지침을 따르기 만하면 Vs 코드 설정 흐름
settings.json에이 줄을 추가합니다. 도움
"javascript.validate.enable": false
답변
.ts
파일을 사용해야합니다. 예 test.ts
를 들어 Typescript 유효성 검사, var typing
의 지능, 반환 유형 및 “유형이 지정된”오류 검사 (예 : 매개 변수 string
를 예상하는 메서드에를 전달 number
하면 오류가 발생 함)를 얻을 수 있습니다.
업데이트 (2018 년 11 월) :
반대 투표, 매우 유용한 댓글 및 기타 답변을 기반으로 설명이 필요합니다.
types
-
예, 애니메이션에 표시된대로 파일
type
에서 VS 코드를 확인할 수 있습니다..js
@ts-check
-
내가 원래 Typescript 에 대해 언급 한
types
것은 다음과.ts
같은 것이지만 똑같은 것은 아닙니다.hello-world.ts
function hello(str: string): string { return 1; } function foo(str:string):void{ console.log(str); }
이것은 컴파일되지 않습니다.
Error: Type "1" is not assignable to String
-
Javascript
hello-world.js
파일 에서이 구문을 시도한 경우 ://@ts-check function hello(str: string): string { return 1; } function foo(str:string):void{ console.log(str); }
OP에서 참조하는 오류 메시지가 표시됩니다.
[js] 'types' can only be used in a .ts file
OP의 맥락뿐만 아니라 이것을 다루지 못한 것이 있다면 추가하십시오. 모두 배우자.
답변
여기에 착륙하고 다른 모든 솔루션이 작동하지 않은 사람은 이것을 시도해보십시오. 나는 typescript + react를 사용하고 있으며 내 문제는 다음 항목에 대한 설정을 확인 javascriptreact
하지 않기 typescriptreact
때문에 vscode에서 파일을 연결하고 있다는 것 입니다.
"files.associations": {
"*.tsx": "typescriptreact",
"*.ts": "typescriptreact"
},
답변
