错误原因:create-react-app生成的项目配置默认不支持装饰器语法
1、方案一
eject:使用这个命令,create-react-app会生成所有配置文件。
缺点:若create-react-app升级,生成的配置可能会和新版不兼容。则无法自动随create-react-app升级
2、方案二
通过react-app-rewired动态修改,修改npm等脚本,让其从react-app-rewired启动。
经考虑选方案二
先安装需要用到的包文件
npm add customize-cra react-app-rewired @babel/plugin-proposal-decorators --dev
在根目录文件夹下,新建config-overrides.js
const {
override,
addDecoratorsLegacy,
disableEsLint,
overrideDevServer,
watchAll
} = require("customize-cra");
module.exports = {
webpack: override(
addDecoratorsLegacy(),
disableEsLint(),
),
devServer: overrideDevServer(
// dev server plugin
watchAll()
)
};
再修改package.json文件
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-app-rewired eject"
}
再重新启动,就不会再报错