react中mobx裝飾器報錯Support for the experimental syntax decorators-legacy isn't currently enabled

在利用npx create-react-app my-app命令構建項目後使用mobx的裝飾器語法時,可能會發生Support for the experimental syntax 'decorators-legacy' isn't currently enabled錯誤。

這個問題的關鍵是MobX DecoratorsCreate-React-App v2發生了衝突,需要採取如下做法:

  1. cnpm install customize-cra react-app-rewired @babel/plugin-proposal-decorators --save;
  2. 根目錄下創建config-overrides.js文件加入以下代碼:
const { override, addDecoratorsLegacy } = require('customize-cra');
module.exports = override(
 addDecoratorsLegacy()
 );

修改package.json文件如下:

"scripts": {
 "start": "react-app-rewired start",
 "build": "react-app-rewired build",
 "test": "react-app-rewired test",
 "eject": "react-app-rewired eject"
  },
  1. 重啓

eact-app-rewired是react社區開源的一個修改CRA(Create-React-App)配置的工具,例如擴展Create React App的Webpack配置,而customize-cra提供了一組用於自定義利用react-app-rewired核心功能的Create React App v2配置, 可以通過config-overrides.js文件來對webpack配置進行擴展

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章