react ts 创建过程

636 阅读2分钟

React TypeScript 创建过程

一、安装create-react-app (在电脑全局安装win+r打开cmd安装)

# npm install -g create-react-app

二、安装my-app (构建项目)

第一种无项目,构建项目时直接加入typescript (不想加入直接去掉 --typescript 即可)

# npx create-react-app my-app --typescript
# or
# yarn create-react-app my-app --typescript

第二种有项目,在项目内加入typescript

# npm install --save typescript @types/node @types/react @types/react-dom @types/jest
# or
# yarn add typescript @types/node @types/react @types/react-dom @types/jest

默认目录结构

├── package.json
├── public                  # 这个是webpack的配置的静态目录
│   ├── favicon.ico
│   ├── index.html          # 默认是单页面应用,这个是最终的html的基础模板
│   └── manifest.json
├── src
│   ├── App.css             # App根组件的css
│   ├── App.js              # App组件代码
│   ├── App.test.js
│   ├── index.css           # 启动文件样式
│   ├── index.js            # 启动的文件(开始执行的入口)!!!!
│   ├── logo.svg
│   └── serviceWorker.js
└── yarn.lock

npm/yarn 脚本

yarn start / npm run start  启动项目
yarn test / npm run test  启动测试
yarn build / npm run build 打包
-----------------
yarn eject / npm run eject 解压默认隐藏得webpack配置

三、安装sass

# npm install node-sass --save
# or
# yarn add node-sass

安装完成后可以将原来的css文件改成scss或者sass文件

在sass文件中引入其他sass文件

# 引入src目录下得问scss文件 `@import "styles/common.scss"`
# 引入node_modules目录下得问scss文件 `@import "~nprogress/nprogress"`

四、使用css module

button.scss

.error {
  background-color: red;
}

button.js

import React, { Component } from 'react';
import styles from './button.scss'; // Import css modules stylesheet as styles

class Button extends Component {
  render() {
    // reference as a js object
    return <button className={styles.error}>Error Button</button>;
  }
}

五、配置代理

package.json 简单代理

...
"proxy":"http://localhost:4000"
...

自定义代理

一、安装 http-proxy-middleware

# npm install http-proxy-middleware --save
# or
# yarn add http-proxy-middleware

二、创建 src/setupProxy.js

const proxy = require('http-proxy-middleware');
module.exports = function(app) {
  app.use(proxy('/api', { target: 'http://localhost:5000/' }));
};

## Visual Studio Code配置React开发环境

### React集成VSCode测试

第一步:
首先安装:[`Debugger for Chrome`](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome)插件。
第二步: 项目根目录下创建 `.vscode`文件夹。
第三步:创建`launch.json`文件
文件内容:

```json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Chrome",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:3000",
      "webRoot": "${workspaceFolder}/src",
      "sourceMapPathOverrides": {
        "webpack:///src/*": "${webRoot}/*"
      }
    }
  ]
}

六、分析包结构

source map explorer 可以帮我们分析最终打包后得bundles得代码来自哪里

# npm install source-map-explorer --save
# or
# yarn add source-map-explorer

添加分析的脚本到package.json

"script":{
    "analyze":"source-map-explorer build/static/js/main.*",
    ...
}