React 和 babel 中的可选链操作符

Ali*_*ari 2 reactjs babeljs

在我的项目中,我配置了 babel:

{
  "presets": ["react", "es2015","stage-1", "transform-optional-chaining"],
  "plugins": ["transform-runtime"]
}
Run Code Online (Sandbox Code Playgroud)

这是我devDependenciespackage.json

"devDependencies": {
    "babel-cli": "^7.0.0-alpha.19",
    "babel-loader": "^7.1.5",
    "babel-plugin-module-resolver": "^3.1.1",
    "babel-plugin-transform-optional-chaining": "^7.0.0-beta.3",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-1": "^6.24.1",
    "copy-webpack-plugin": "^4.5.2",
    "css-loader": "^1.0.0",
    "file-loader": "^1.1.11",
    "html-webpack-plugin": "^3.2.0",
    "prettier": "^1.14.2",
    "react-hot-loader": "^4.3.4",
    "style-loader": "^0.22.1",
    "url-loader": "^1.1.1",
    "webpack": "^4.16.5",
    "webpack-cli": "^3.1.0",
    "webpack-dev-server": "^3.1.5"
  }
Run Code Online (Sandbox Code Playgroud)

当我运行项目时,我收到此错误:

找不到模块“babel-preset-transform-optional-chaining”

谁能解释一下如何解决这个错误?

Sam*_*mVK 5

transform-optional-chaining是一个插件(不是预设)。尝试将您的 babel 配置更改为:

{
  "presets": ["react", "es2015","stage-1"],
  "plugins": ["transform-runtime", "transform-optional-chaining"]
}
Run Code Online (Sandbox Code Playgroud)