programing

TS1128: 선언 또는 문이 필요합니다(파일 끝).

topblog 2023. 7. 17. 20:30
반응형

TS1128: 선언 또는 문이 필요합니다(파일 끝).

저는 TypeScript/React 프로젝트(1년 동안 React를 작성하지 않은 것 등)를 진행하고 있으며 문제가 있습니다.

이 구성 요소를 작성할 때 찾은 일부 문서를 따라갔는데 이 파일의 끝에 TS1128(선언 또는 설명문이 예상됨) 오류가 발생하여 다음과 같은 이유를 알 수 없습니다.

import * as React from 'react';
import Count from './CountDisplay';

interface State {
    count: number;
}

class Counter extends React.Component<{}, State> {

    state: State = {count: 0};

    increment() {
        this.setState({
            count: (this.state.count + 1)
        });
    }

    decrement() {
        this.setState({
            count: (this.state.count - 1)
        });
    }

    render(): JSX.Element {
        return (
            <div>
                <Count count={this.state.count}/>
                <button onClick={this.increment}>Increment</button>
                <button onClick={this.decrement}>Decrement</button>
            </div>
        );
    }
}

export default Counter;

코드가 정상으로 보이기 때문에(또는 그렇게 생각했기 때문에) 왜 계속 오류가 발생하는지 모르겠습니다. 하지만 제가 틀렸을 수도 있습니다.

다음은 TSConfig.json입니다. 문제와 관련이 있을 수 있다고 판단했기 때문입니다.

{
  "compilerOptions": {
    "outDir": "./dist",
    "sourceMap": true,
    "noImplicitAny": true,
    "module": "commonjs",
    "target": "es6",
    "jsx": "react"
  }
}

2020년 11월 5일 업데이트:

파일을 닫았다가 다시 열면 수정됩니다.IntelliJ TypeScript 구문 분석이 동기화되지 않을 수 있습니다.

원답

파티에 조금 늦을 수도 있지만, 저도 이런 경험을 했고 저를 위해 고쳐준 것은 다음과 같은 단계였습니다.

  1. 새 파일을 만듭니다.
  2. 이전 파일의 내용을 새 파일로 복사합니다.
  3. 이전 파일을 삭제합니다.
  4. 이전 파일의 이름과 일치하도록 새 파일의 이름을 변경합니다.

왜 이것이 문제를 해결하는지는 정확히 모르겠지만 몇 가지 추측이 있습니다.저는 IntelliJ를 사용하고 있는데, 다른 곳에서 이 문제가 발생한 적이 없기 때문에 여러분도 사용하고 있는 것으로 가정합니다. TS는 문제가 발생하더라도 문제가 없습니다.그것은 (적어도 나에게는) 편집자 내 오류와 같은 종류의 거래에 가깝습니다.편집기를 다시 열면 이 문제가 해결될 수도 있습니다.

이 모든 것이 도움이 되길 바랍니다!

추측 1

줄 끝 부분과 관련이 있습니다.Git는 OS에 따라 공통 Git 작업을 수행할 때 줄 바꿈을 변경합니다. Windows와 Linux의 줄 바꿈 순서가 다르기 때문입니다.그것은 아마도 Intelli J를 넘어뜨리는 것일 것입니다.한 번은 프로젝트의 마스터에서 손을 떼고 이 문제에 부딪힌 적이 있어서 그런 느낌이 듭니다.


추측 2

코드 어딘가에 "보이지 않는" 유니코드 문자가 삽입되어 있습니다.사용자 지정 MacOS 키보드 레이아웃 때문에 이런 일이 몇 번 있었습니다.제 두 사람 모두 "보이지 않는" 캐릭터들과 관련된 것들을 맴돌지만, 유감스럽게도 제 전문 지식은 여기서 끝납니다.아마도 더 많은 노하우를 가진 사람이 전화를 걸 수 있을 것입니다.

WebStorm 2019.3.1에서 이 문제가 발생했을 때 파일 > 캐시 무효화 / 재시작...으로 이동하여 문제를 해결할 수 있었습니다.무효화 및 재시작 버튼을 누릅니다.WebStorm을 다시 시작했을 때 오류가 사라졌습니다.

설정 > 언어 & 프레임워크 > 유형 스크립트에서 유형 스크립트 언어 서비스를 해제합니다.다시 켜주세요.이것으로 해결되었습니다.

설정 > 언어 & 프레임워크 > 유형 스크립트 > 유형 스크립트 언어 서비스의 변경 사항에 대한 Recompile on changes를 선택 취소하면 문제가 해결되었지만 근본적인 원인은 여전히 알려지지 않았습니다.

이것은 웹스톰 IDE에서 도움이 되었습니다.

언급URL : https://stackoverflow.com/questions/59056952/ts1128-declaration-or-statement-expected-end-of-file

반응형