【作为2018年前端最应该学习的技术】Typescript真的很火。这两天蹦蹦也自学了ts。并基于Dva+React+Typescript+Tslint配置了一个简单的环境,由于其他百度教程都是17年或者更早的,很多都已经过时了,想着和自学的朋友们分享一下经验吧!第一步安装typescript(推荐全局安装)npminstall-gtypescript第二步安装dva-cli(使用全局安装)npminstall-gdva-cli第三步,进入自己的项目目录cdd:/代码/4-Dva+React\1-dva+react_firstday。使用dva-cli创建工程,创建的工程目录如下:dvanew01-dva-quickstart。安装typescript所需的react、react-dom包,以及ts-loader和tslintnpminstall--save-dev@types/react@types/react-domts-loaderts-lint。配置tsconfig.json(ts配置项)在项目根目录新建tsconfig.json(./tsconfig.json),写入如下必要的代码:{"compilerOptions":{"strictNullChecks":true,"moduleResolution":“node”,“allowSyntheticDefaultImports”:true,“experimentalDecorators”:true,“jsx”:“preserve”,“noUnusedParameters”:true,“noUnusedLocals”:true,“target”:“es6”,“lib”:[“dom”,“es7”]},“排除”:[“node_modules”,“lib”,“es”]}。配置tslint.json(tslint规范)在项目根目录(./tslint.json)新建tslint.json,写入如下必要的代码:(ps:以下规则配置项可自行添加){"extends":["tslint:latest","tslint-react"],"linterOptions":{"exclude":["node_modules/**/*.ts","src/**/*.{ts,tsx}"]},"rules":{"object-literal-sort-keys":false,"jsx-no-lambda":false,"eofline":false,"no-consecutive-blank-lines":false,"no-var-requires":false,"quotemark":false,"space-within-parents":false,"no-submodule-imports":false,"no-implicit-dependencies":false,"ordered-imports":[false],"jsx-boolean-value":false,"no-trailing-whitespace":false,"semicolon":false,"trailing-comma":false,"space-in-parents":false,"typedef-whitespace":[false],"whitespace":[true],"interface-over-type-literal":true,"no-duplicate-imports":false,"no-namespace":true,"no-internal-module":true}}.至此,相关配置ts已经全部搞定了,是时候测试一下了吗?Step41.删除./src目录下的所有文件,不要删除文件夹;2.在./src/routes目录下新建Home.tsx(./src/routes/Home.tsx)(默认主页);ps:dva中的路由相当于redux的容器(容器组件),具体相关概念可以参考链接说明。Home的代码。tsx如下:import*asReactfrom'react';exportinterfaceIAppProps{name?:string;};constHome:React.SFC你好{props.name?props.name:"Whataboutcollapse"}
