一、搭建ts版本的项目骨架
create-react-app demo-ts --scripts-version=react-scripts-ts
这个脚手架的tsconfig.json
文件中的outDir
竟然修改无效,用npm run eject
命令暴露配置后修改config/path.js
中的appBuild
才会生效:
appBuild: resolveApp("../server/public"),
个人认为脚手架的这一点比较坑,既然不支持直接更改编译后的目录就不应该暴露outDir
,给人一种修改了却不生效的感觉。
二、修改默认开发端口号
- 初始端口号是3000,当有冲突时我们可以选择更改端口号
"start": "react-scripts start",
- 改为3001端口:
"start": "set PORT=3001&&react-scripts start",
三、decorators是babel的版本问题,在高版本的babel中阻止实施装饰,需要我们添加一个特殊的插件
- 安装transform-decorators-legacy插件
npm i --save-dev babel-plugin-transform-decorators-legacy
- 配置.babelrc/webpack配置文件如下:
{
"presets": [
"es2015",
'react',
],
"plugins": ["transform-decorators-legacy"]
}