使用TypeScript开发React应用(一)

栏目: 服务器 · 发布时间: 5年前

内容简介:本次分享如何使用我们将使用create-react-app工具快速初始化一个React项目。我们假设您已经在使用npm的Node.js。 您可能还想了解React的基础知识。这里就暂不做介绍了,前面的文章有对应的介绍,可以翻一番我前面的分享

本次分享如何使用 React 连接TypeScript开发应用。 到最后,我们会得到一个如下的知识掌握

  • 一个使用React和TypeScript的项目
  • 使用 TSLint 进行linting
  • JestEnzyme 测试
  • 使用 Redux 进行状态管理

我们将使用create-react-app工具快速初始化一个React项目。

我们假设您已经在使用npm的Node.js。 您可能还想了解React的基础知识。这里就暂不做介绍了,前面的文章有对应的介绍,可以翻一番我前面的分享

安装create-react-app

我们将使用create-react-app,因为它为React项目设置了一些有用的 工具 和规范默认值。 这只是一个命令行实用程序来构建新的React项目。

npm install -g create-react-app

初始化创建项目

我们将创建一个名为ts-react-app的新项目:

create-react-app ts-react-app --scripts-version=react-scripts-ts

react-scripts-ts是一组调整,用于采用标准的create-react-app项目管道并将TypeScript引入混合。

此时,您的项目布局应如下所示:

注意点

  • tsconfig.json包含我们项目的特定于TypeScript的选项。

    • 我们还有一个tsconfig.prod.json和一个tsconfig.test.json,以防我们想要对我们的生产版本或我们的测试版本进行任何调整。
  • tslint.json存储我们的linter,TSLint将使用的设置。

  • package.json包含我们的依赖项,以及我们想要运行的命令的一些快捷方式,用于测试,预览和部署我们的应用程序。

  • public包含静态资产,例如我们计划部署到的HTML页面或图像。 除index.html之外,您可以删除此文件夹中的任何文件。

  • src包含我们的TypeScript和CSS代码。 index.tsx是我们文件的入口点,是必需的。

  • images.d.ts将告诉TypeScript可以导入某些类型的图像文件,create-react-app支持这些文件。

设置源代码管理

我们的测试工具Jest期望存在某种形式的源代码控制(例如Git或Mercurial)。 为了正确运行,我们需要初始化一个git存储库。

cd ts-react-app
git init
git add .
git commit -m "Initial commit."

重写默认值

react-scripts-ts设置的TSLint配置有点过于热心。 让我们解决这个问题。

{
-  "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
+  "extends": [],
+  "defaultSeverity": "warning",
   "linterOptions": {
     "exclude": [
       "config/**/*.js",
       "node_modules/**/*.ts"
     ]
   }
 }

配置TSLint 超出了此篇文章要分享的范围,但您可以随意尝试适合您的操作。

运行项目

运行项目就像运行一样简单

npm run start

这将运行我们的package.json中指定的启动脚本,并将在我们保存文件时生成重新加载页面的服务器。 通常,服务器在 http://localhost:3000运行,但应自动为您打开。 这允许我们快速预览更改,从而收紧迭代循环。

测试项目

测试也只是一个命令:

npm run test

此命令针对扩展名以.test.ts或.spec.ts结尾的所有文件运行Jest,这是一个非常有用的测试实用程序。 与npm run start命令一样,Jest会在检测到更改后立即自动运行。 如果您愿意,可以并排运行npm run start和npm run test,以便您可以预览更改并同时测试它们。

创建生产构建

使用npm run start运行项目时,我们最终没有使用优化的构建。 通常,我们希望我们发送给用户的代码尽可能快速和小巧、缩小等某些优化可以实现这一目标,但通常需要更多时间。 我们称之为"production"构建的构建(与开发构建相对)。

要运行生产构建,只需运行即可

npm run build

这将分别在./build/static/js和./build/static/css中创建优化的JS和CSS构建。

您不需要在大多数时间运行生产构建,但如果您需要测量应用程序的最终大小等内容,则非常有用。

未完待续...


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

SEO实战密码

SEO实战密码

昝辉Zac / 电子工业出版社 / 2015-7 / 69.00元

本书是畅销书升级版,详细和系统地介绍了正规、有效的SEO实战技术,包括为什么要做SEO、搜索引擎工作原理、关键词研究、网站结构优化、外部链接建设、SEO效果监测及策略修改,SEO作弊及惩罚、排名因素列表、常用的SEO工具、SEO项目管理中需要注意的问题等专题,最后提供了一个非常详细的案例供读者参考。 第3版增加了移动搜索优化、APP排名优化、百度2015年排名因素调查结果等新内容,并对前两版......一起来看看 《SEO实战密码》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码