Typescript+dva搭建开发环境

都说Typescript非常的好用,今天尝试了下将typescript跟dva搭建的环境进行下整合。
第一步:
采用dva命令创建项目:

dva new react4_pro

第二步:配置webstorm支持typescript语法:
点击File–>Settings–>File Wachers
这里写图片描述

第三步:修改webpack的配置文件:找到node_modules/_roadhog/lib/config/webpack.config.dev.js;
node_modules/_roadhog/lib/config/webpack.config.prod.js
在loaders里面添加对ts的支持申明:

  module: {
      loaders: [
     ....
        {
          test:  /\.ts$/,
          loader: 'ts-loader'
        },{
        test: /\.(js|jsx)$/,
        include: paths.appSrc,
        loader: 'babel'
      }, 
      ....

因为这里用到了ts-loader,所以需要安装该插件的依赖:
主要添加依赖如下:

cnpm i --save-dev @types/react @types/react-dom
cnpm i --save-dev ts-loader source-map-loader
cnpm i link typescript

第四步:在项目根目录下添加tsconfig.json文件

{
  "compilerOptions": {
    "strictNullChecks": true,
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
    "experimentalDecorators": true,
    "jsx": "preserve",
    "noUnusedParameters": true,
    "noUnusedLocals": true,
    "target": "es6",
    "lib": [
      "dom",
      "es7"
    ]
  },
  "exclude": [
    "node_modules",
    "lib",
    "es"
  ]
}

第五步:写个测试文件来测试是否成功:
我添加了该文件routes/Test.tsx,代码如下:

import * as React from 'react'
import { render } from 'react-dom'
import { connect,dispatch } from 'react-redux' // 引入connect

interface IAppProps {}
interface IAppState {}

class App extends React.Component<IAppProps, IAppState> {
  public render(): JSX.Element {
    return (
      <div>
        Hello world222
      </div>
    )
  }
}

export default App;

第六步:然后将默认启动指向该文件:

import React from 'react';
import { Router, Route } from 'dva/router';
import IndexPage from './routes/Test';

function RouterConfig({ history }) {
  return (
    <Router history={history}>
      <Route path="/" component={IndexPage} />
    </Router>
  );
}

export default RouterConfig;

然后执行:npm start启动起来:
如果出现以下界面:
这里写图片描述

表示dva整合typescript ok了,接下来就可以采用typescript的语法方式来进行开发咯。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值