使用typescript构建react项目环境搭建
2017-07-29 12:58
861 查看
一、使用typescript
开发react
项目常见有两种方式
1、使用webpack手动配置
2、使用
create-react-app脚手架
二、使用webpack
手动配置
1、全局安装webpack
npm install webpack -g # 本人一般会安装这个服务的 npm install webpack-dev-server -g
2、创建一个项目目录
3、进入项目文件,在黑窗口中输入命令
npm init tsc --init //如果tsc --init 提示报错,可能要先全局安装npm install -g typescript
3、安装
react与
react-dom包
npm install --save react react-dom @types/react @types/react-dom
4、安装开发依赖包
npm install --save-dev typescript awesome-typescript-loader source-map-loader
5、修改
tsconfig.json文件
{ "compilerOptions": { "outDir": "./dist/", "sourceMap": true, "noImplicitAny": true, "module": "commonjs", "target": "es5", "jsx": "react" }, "include": [ "./src/**/*" ], "exclude": [ "node_modules" ] }
6、在根目录下创建一个
webpack.config.js文件
'use strict'; module.exports = { entry: "./src/index.tsx", output: { filename: "bundle.js", path: __dirname + "/dist" }, devtool: "source-map", // 忽视文件后缀名 resolve: { extensions: [".ts", ".tsx", ".js", ".json"] }, // 模块加载器 module: { rules: [ { test: /\.tsx?$/, loader: "awesome-typescript-loader" }, { enforce: "pre", test: /\.js$/, loader: "source-map-loader" } ] }, externals: { "react": "React", "react-dom": "ReactDOM" }, };
7、新建一个
src文件夹存放所有的
tsx文件
***Hello.tsx文件*** import * as React from "react"; // 定义一个接口约束传递进来的参数类型(类似传统js中[组件.propTypes = {}) export interface HelloProps { compiler: string; framework: string; } // 定义一个类去继承React.Component export class Hello extends React.Component<HelloProps, undefined> { render() { return <h1>Hello from {this.props.compiler} and {this.props.framework}!</h1>; } }
8、主入口文件
***index.tsx*** import * as React from "react"; import * as ReactDOM from "react-dom"; // 导入定义的组件 import { Hello } from "./components/Hello"; // 渲染到example节点上 ReactDOM.render( <Hello compiler="TypeScript" framework="React" />, document.getElementById("example") );
9、打包,运行
10、代码见react_ts01
11、文件目录结构
三、使用create-react-app
构建react
项目
1、全局安装create-react-app
npm install -g create-react-app
2、创建一个项目
create-react-app my-app --scripts-version=react-scripts-ts
3、运行项目
npm run start
4、打包项目
npm run build
5、代码见react_ts02
四、关于typescript
构建react
项目注意点
1、extends React.Component<object,State>中泛型是
props和
state如果没有就传递
object
2、定义未使用就会报错
3、
react中获取
DOM元素的方法
import * as ReactDOM from 'react-dom'; ... return ( <div className="hello"> <div className="greeting"> Hello word <p ref="myp">1111--{this.state.num1}</p> <input value="添加" onClick={this.add} type="button"/> </div> </div> ); ... componentDidMount(){ console.log(`componentDidMount方法`); var myp = ReactDOM.findDOMNode<HTMLInputElement>(this.refs["myp"]); console.log(myp.innerText); }
相关文章推荐
- 使用Ant进行项目构建之一:环境搭建 (转载)
- react---学习笔记:使用create-react-app快速构建开发环境并创建项目
- 如何使用Openshit开发项目和本地环境搭建
- [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建
- 搭建使用 RTX51-Tiny 的 C51 Keil 项目环境
- 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)
- 快速构建C++项目工具Scons,结合Editplus搭建开发环境
- Sencha Touch入门:Sencha Touch开发环境搭建及使用 Sencha Cmd 自动创建项目框架
- 使用Spring MVC 4构建Restful服务 搭建Spring MVC 4开发环境八步走
- Sencha Touch开发环境搭建及使用 Sencha Cmd 自动创建项目框架
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二节:Cocos引擎开发环境搭建与项目创建!
- .NET程序员也用JAVA:使用BlazeDS,SpringFramework,MySql,Flex构建RIA应用 part 1 :环境搭建.
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
- Android开发工具升级(Android Studio的环境搭建和项目构建)
- [置顶] 项目进阶 之 持续构建环境搭建(二)Nexus私服器
- [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建
- android开源项目---SlidingMenu环境的搭建与使用
- 项目进阶 之 持续构建环境搭建(一)架构
- IOS笔记(1)20141210 [项目环境搭建之CocoaPods的安装和使用]
- [原]项目进阶 之 持续构建环境搭建(二)Nexus私服器