programing

오류: 'types'는 .ts 파일에서만 사용할 수 있습니다. - @ts-check를 사용하는 Visual Studio 코드

easyjava 2023. 3. 10. 22:52
반응형

오류: 'types'는 .ts 파일에서만 사용할 수 있습니다. - @ts-check를 사용하는 Visual Studio 코드

Visual Studio Code에서 작업 중인 노드 프로젝트에서 TypeScript를 사용하기 시작했습니다.Flow와 마찬가지로 "opt-in" 전략을 따르고 싶었습니다.그래서 저는// @ts-check최고의 기분으로.js해당 파일에 대한 TS를 활성화하기 위해 파일을 작성하십시오.궁극적으로 Flow와 동일한 "linting" 경험을 원하기 때문에 Intellissense 경고/오류를 볼 수 있도록 플러그인 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.아래 그림과 같이 합니다.

vscoode에서 ts에 대한 오류

vscode에서 javascript 검증을 비활성화할 것을 권장하는 질문을 보았습니다만, TypeScript Intellisense 정보는 표시되지 않습니다.

설정해 보았다tslint.jsEnable로.trueTSLint 확장 문서에서 언급한 대로 vscoode 설정으로 설정하지만, 거기서는 운이 없습니다.

를 사용하기 위한 올바른 설정은 무엇입니까?.jsTypeScript를 사용하여 파일을 만들고 Intellissense를 취득하면 TS 명령어를 실행하기 전에 코드의 오류를 알 수 있습니다.

vscode에서 플로우를 사용하고 있는데 같은 문제가 발생하였습니다.다음 단계로 해결했습니다.

  1. 확장 플로우 언어 지원 설치

  2. 내장된 TypeScript 확장을 비활성화합니다.

    1. 확장 탭으로 이동
    2. @builtin TypeScriptJavaScript 언어 기능 검색
    3. [비활성화] 를 누릅니다.

사용하다"javascript.validate.enable": falseVS Code 설정에서는 ESLINT는 비활성화되지 않습니다.ESLINT와 Flow를 모두 사용합니다.Flow For Vs Code Setup(VS 코드 셋업 흐름)에 따라 주세요.

settings.json에 이 행을 추가하고 있습니다.도와준다"javascript.validate.enable": false

문제를 해결하려면 다음 절차를 따릅니다.

[ Preferences ](기본 설정)으로 이동한 후 설정으로 이동합니다.

설정 검색으로 이동한 후javascript.validate검색창에서 체크박스를 꺼줍니다.

json 경유로 편집하는 경우는, 「코드」-> 「프리퍼런스」-> 「설정」-> 「확장」-> 아래로 스크롤 해, 「Edit in settings.json」을 참조해 주세요.확장 그 후 추가

"javascript.validate.enable": false

표시, settings.json

여기에 도착해서 다른 모든 솔루션이 작동하지 않는 사람은 이것을 시도해 보세요.타이프스크립트 + 리액트를 사용하고 있는데 vscode의 파일을 다음과 같이 연관짓는 것이 문제였습니다.javascriptreact것은 아니다.typescriptreact따라서 다음 항목에 대한 설정을 확인하십시오.

   "files.associations": {
    "*.tsx": "typescriptreact",
    "*.ts": "typescriptreact"
  },

를 사용해야 합니다..ts파일 - 예:test.ts타이프 원고를 입수하다 검증, 인텔리센스 typing및 "check ( "compassing a "the passing a "recommunic" check (예: "는")string(하는 으로)number매개 변수

은 (표준)으로이다..js 를 경유합니다.


갱신(2018년 11월):

다운 투표, 매우 도움이 되는 코멘트 및 기타 답변을 바탕으로 명확히 해야 합니다.

types

  • 이렇게 요.type 코드 .js애니메이션에 표시된 것처럼 파일이 있는 경우

  • 타이프스크립트에 대해 처음에 언급했던 것 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의 컨텍스트뿐만 아니라 이 내용을 망라한 것이 있으면 추가해 주십시오.다 같이 배우자.

[Mac] Visual Studio Code에 다음 명령을 입력합니다.

  • 명령 + 시프트 + P
  • 다음, "라고 입력합니다.Preferences: Open User Settings (JSON)" " "가 있습니다.
  • -> 을 추가합니다"javascript.validate.enable": false

주의: "기본 설정:Open Default Settings(JSON)"는 편집할 수 없습니다.

설정으로 이동하여 javascript validate를 검색한 후 옵션을 비활성화하여 이 문제를 해결합니다.

설정

"typescript.typescript.enable":

IN VS Code -> [ Preferences ]-> [ Settings ]-> 위의 속성을 검색하여 비활성화합니다.

이 솔루션은 settings.json에 다음 속성을 추가한 것입니다.

"js/ts.implicitProjectConfig.checkJs": true

유형/인터페이스는 유형 스크립트 파일에만 적용할 수 있으며 .js 파일은 JavaScript 파일입니다.

따라서 솔루션은 다음과 같이 단순합니다.

유형/인터페이스를 사용하려면 확장자 .js를 .tsx로 변경합니다.

윈도의 VS 코드를 보려면 설정을 클릭합니다.그리고 상단에 있는 검색창에 javascript validate를 입력하고 아래와 같이 체크박스를 끄면 됩니다.여기에 이미지 설명 입력

변수를 예상 유형으로 기본 설정하기만 하면 됩니다.

(number=1) => ...
(number=1.0) => ...
(string='str') ...

언급URL : https://stackoverflow.com/questions/48859169/error-types-can-only-be-used-in-a-ts-file-visual-studio-code-using-ts-che

반응형