可选链接在 create-react-app 中不起作用
Optional-Chaining does not work in create-react-app
在一个 create-react-app
项目中,我在我的 `.babelrc
中使用 @babel/plugin-proposal-optional-chaining
但是,我有这个错误:Module parse failed: Unexpected token (22:16) You may need an appropriate loader to handle this file type.
这是我所有的 babel 依赖:
{
"dependencies": {
"@babel/core": "^7.9.0",
"@babel/node": "^7.8.7",
"@babel/plugin-external-helpers": "^7.8.3",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-decorators": "^7.8.3",
"@babel/plugin-proposal-json-strings": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.9.5",
"@babel/plugin-proposal-optional-chaining": "^7.9.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.8.3",
"@babel/plugin-transform-async-to-generator": "^7.8.3",
"@babel/plugin-transform-modules-commonjs": "^7.9.0",
"@babel/plugin-transform-react-constant-elements": "^7.9.0",
"@babel/plugin-transform-react-inline-elements": "^7.9.0",
"@babel/plugin-transform-runtime": "^7.9.0",
"@babel/polyfill": "^7.8.7",
"babel-plugin-add-module-exports": "^1.0.2",
"babel-plugin-array-includes": "^2.0.3",
"babel-plugin-inline-react-svg": "^1.1.1"
}
}
- 节点 v14.0.0
- npm 6.14.4
- 反应脚本 2.1.8
我还需要什么才能让它工作?
您只需确保已安装 react-scripts
3.3.0+ version,因为它已经内置了可选的链接:
const obj = { a: `Hello` };
// Hello World
const App = () => {
return (
<>
{obj?.a}
{obj?.b ?? ` World`}
</>
);
};
在一个 create-react-app
项目中,我在我的 `.babelrc
@babel/plugin-proposal-optional-chaining
但是,我有这个错误:Module parse failed: Unexpected token (22:16) You may need an appropriate loader to handle this file type.
这是我所有的 babel 依赖:
{
"dependencies": {
"@babel/core": "^7.9.0",
"@babel/node": "^7.8.7",
"@babel/plugin-external-helpers": "^7.8.3",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-decorators": "^7.8.3",
"@babel/plugin-proposal-json-strings": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.9.5",
"@babel/plugin-proposal-optional-chaining": "^7.9.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.8.3",
"@babel/plugin-transform-async-to-generator": "^7.8.3",
"@babel/plugin-transform-modules-commonjs": "^7.9.0",
"@babel/plugin-transform-react-constant-elements": "^7.9.0",
"@babel/plugin-transform-react-inline-elements": "^7.9.0",
"@babel/plugin-transform-runtime": "^7.9.0",
"@babel/polyfill": "^7.8.7",
"babel-plugin-add-module-exports": "^1.0.2",
"babel-plugin-array-includes": "^2.0.3",
"babel-plugin-inline-react-svg": "^1.1.1"
}
}
- 节点 v14.0.0
- npm 6.14.4
- 反应脚本 2.1.8
我还需要什么才能让它工作?
您只需确保已安装 react-scripts
3.3.0+ version,因为它已经内置了可选的链接:
const obj = { a: `Hello` };
// Hello World
const App = () => {
return (
<>
{obj?.a}
{obj?.b ?? ` World`}
</>
);
};