실험적 구문 ‘optionalChaining’에 대한 지원이 현재 활성화되어 있지 않습니다
위의 오류가 발생했습니다. 이 게시물을 따라 내에 추가 "@babel/plugin-proposal-optional-chaining": "^7.7.4"
했습니다 devDependencies
.
그런 다음이 오류가 발생합니다.
변환을 활성화하려면 @ babel / plugin-proposal-optional-chaining ( https://git.io/vb4Sk )을 Babel 구성의 ‘plugins’섹션에 추가하십시오.
나는이 다음에 그래서 게시물 및 추가 .babelrc
내 프로젝트의 루트에 파일을
{
"presets": ["react", "es2015","stage-1"],
"plugins": ["transform-runtime", "transform-optional-chaining"]
}
이것은 아무것도하지 않는 것 같습니다. 또한 Create React App
babel의 구성을 수정할 수 없다는 언급을 들었습니다 . 그래서 내 질문은 전체를 다시 배선하지 않고 선택적 체인 을 활성화하는 방법은 CRA
무엇입니까?
추신 : 나는을 사용 "typescript": "^3.7.2"
하고 package.json
있습니다. 나는 npm install
그것이 업데이트되도록 노력 했다. CRA
아래에서 이상한 일을하고 이전 버전을 사용 하는지 확실하지 않습니다 TypeScript
.
편집 :
프로젝트를 시작할 때 CRA
사용하고 있다고 생각 TypeScript: 3.6.x
합니다. 사용 Optional Chaining
하고 싶었 으므로 package.json
파일을 "typescript": "^3.7.2"
다음으로 변경했습니다 npm install
. 문제는 TypeScript
내가 사용 하고 있다는 것을 알고 3.7.2
있지만 CRA
여전히 오래된 구성을 가지고 있으며 어떻게 업데이트 할 수 있는지 잘 모르겠습니다.
답변
Create-React-App은 babel을 사용하여 TypeScript를 변환하므로 npm 설치 버전의 TypeScript를 사용하지 않습니다. 반응 스크립트 버전 3.3.0은 TypeScript 3.7을 지원합니다. 당신은 그것을 설치하고 사용할 수 있습니다 :
-
yarn add react-scripts@3.3.0
-또는-
-
npm install -s react-scripts@3.3.0
답변
React 스크립트 3.3.0 이상에서 지원합니다. react-scripts @ next를 설치할 필요가 없습니다.
package.json에 넣으면 "react-scripts": "^3.3.0"
작동합니다.
답변
package.json
{
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test --env=jsdom"
},
"devDependencies": {
"@babel/plugin-proposal-optional-chaining": "^7.2.0",
"customize-cra": "^0.4.1",
"react-app-rewired": "^2.1.3"
}
...other
}
config-overrides.js
const { useBabelRc, override } = require('customize-cra');
module.exports = override(useBabelRc());
.babelrc
{
"plugins": ["@babel/plugin-proposal-optional-chaining"]
}