摘要:在整篇文章中,我将解释如何使用以及为什么去使用。如果没有,这两个错误将被忽视,导致最终应用程序出现一些错误。我们可以在从其他文件导入的类中使用自动完成功能。维护的难度是和开发人员避免将大型项目迁移到的主要原因之一。
在我的职业生涯开始时,我是一名桌面应用开发人员,其中强类型语言占据了市场主导地位。
当我迁移到Web开发时,我对JavaScript和Python等语言的每个新功能都很着迷。事实上,我没有必要声明变量的类型,这极大的提高了我的生产力,并且使我的工作变得更有趣了。
所以我第一次听说TypeScript时,脑海中的第一个想法是这个语言的演变是不是倒退了一步。
是的,但这也要取决于具体情况。对于我独自工作的个人项目,我仍然更喜欢纯JavaScript,他的生产力更高。但是,对于那种团队工作的大型项目,我建议使用TypeScript。在整篇文章中,我将解释如何使用以及为什么去使用。
生产力与维护根据概念定义的,“TypeScript是用于应用程序规模开发的JavaScript”。也就是说,我们对项目初始设置的工作可以通过复杂项目的可维护性得到补偿。下面我们来看一下为什么会发生这种情况:
输入safe = less errors通过在代码中定义类型,您可以允许IDE在使用仅在运行时感知的类和函数时确认错误。
例:
这里我使用的是Visual Studio Code,它指出了两个错误:
在第6行:我们试图将字符串参数传递给只接受数字的函数。
在第9行:我们试图将一个返回数字的函数的结果赋给字符串。
如果没有Typescript,这两个错误将被忽视,导致最终应用程序出现一些错误。
在复杂的项目中,我们有数百个类分布在多个文件中。当我们定义类型时,IDE能够将对象和函数关联到给它们起源的文件。
当使用control + 单击从另一个文件导入的方法或类时,IDE将自动导航到导入的文件,突出显示定义引用的行。
我们可以在从其他文件导入的类中使用自动完成功能。
维护的难度是Java和C#开发人员避免将大型项目迁移到JS的主要原因之一。我们可以说,Typescript是一种克服这一障碍的企业语言。
如何使用Typescript设置Express项目现在让我们一步一步地创建一个在Express.js项目中使用Typescript语言的环境。
npm init
我们现在安装typescript包。
npm安装typescript -s
关于Typescript节点包
Node.js是一个运行Javascript而不是Typescript的引擎。节点Typescript包允许您将 .ts文件转换为 .js脚本。Babel也可用于转换Typescript,但市场标准是使用官方的Microsoft软件包。
在我们内部package.json我们将放置一个名为tsc:
“scripts”:{ “tsc”:“tsc” },
此修改允许我们从项目文件夹中的命令行调用typescript函数。所以我们可以使用以下命令:
npm run tsc - --init
此命令通过创建tsconfig.json文件来初始化typescript项目。在此文件中,我们将取消注释该outDir选项,并为要传递的已转换的.js文件选择一个位置:
安装express.jsnpm install express -s
Express和Typescript包是独立的。这样做的结果是Typescript不“知道”Express类的类型。Typescript有一个特定的npm包来识别Express类型。
npm install @ types / express -sHello world
为了拥有尽可能最简单的应用程序,我将使用express.js教程的hello world示例:
var express = require("express"); var app = express(); app.get("/", function (req, res){ res.send("hello world!"); }); app.listen(3000, function(){ console.log("Example app listening on port 3000"); })
在我们的项目中,我们将创建一个名为的文件夹app。在此文件夹中,我们将创建一个名为app.ts以下内容的文件:
import express = require("express"); // Create a new express application instance const app: express.Application = express(); app.get("/", function (req, res) { res.send("Hello World!"); }); app.listen(3000, function () { console.log("Example app listening on port 3000!"); });编译我们的第一个应用程序
npm run tsc
如您所见,该命令自动创建了build文件夹和.js文件。
运行express:node build / app.js
有了这个,我们已经在端口3000上运行了一个服务器:
运行TypeScript而不进行转换您可以使用ts-node包直接在节点上运行typescript 。
此软件包仅建议用于开发。要在生产中进行最终部署,请始终使用项目的javascript版本。
该ts-node已被包含在另一个包的依赖关系,T ts-node-dev。安装后,ts-node-dev我们可以运行命令,以便在项目文件发生更改时重新启动服务器。
npm安装ts-node-dev -s
在我们内部,packege.json我们将添加两个脚本:
“scripts”:{ “tsc”:“tsc”, “dev”:“ts-node-dev --respawn --transpileOnly ./app/app.ts”,“prod”:“tsc && node ./build/ app.js“ },
要启动开发环境:
npm run dev
要以生产模式运行服务器:
npm run prod
有啥问题可以在评论处给我留言谢谢你的阅读!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/108709.html
摘要:前言讲起前端,我们就不能不讲与,在这两种技术广泛应用的今天,他们的扩展也是层出不穷,的扩展有等,的超集有等。如下注意你的样式文件一定要在引入前先引入。截止目前,已经发布了最新的版本。 前言:讲起前端,我们就不能不讲CSS与Javascript,在这两种技术广泛应用的今天,他们的扩展也是层出不穷,css的扩展有Less、Sass、Stylus等,js的超集有Typescript等。今天我们就简...
摘要:为目前使用范围最广的网络保护协议。身处攻击目标周边的恶意人士能够利用密钥重装攻击,利用此类安全漏洞。本文和大家一起探讨下如何在三年内快速成长为一名技术专家。 业界动态 Vue 2.5 released Vue 2.5 正式发布,作者对于该版本的优化总结:更好的TypeScript 集成,更好的错误处理,更好的单文件功能组件支持以及更好的与环境无关的SSR WiFi爆惊天漏洞!KRACK...
摘要:谈到函数式编程时,我们常提到机制方法,而不是核心原则。函数式编程不是关于和这些概念的,虽然它们确实很有用。从根本上来说,函数式编程就是关于如使用通用的可复用函数进行组合编程。我们一起用一些函数式编程的办法重构这个函数吧。 原文作者:@VictorSavkin原文地址:https://vsavkin.com/functiona...中文翻译:文蔺译文地址:http://www.wemli...
摘要:具体来说,包管理器就是可以通过命令行,帮助你把外部库和插件放到你的项目里面并在之后进行版本升级,这样就不用手工复制和更新库。现在有的包管理器主要是和。 一、基础 1、学习HTML基础 HTML给你的网页赋予了结构。它就像是人的骨架那样让你保持站立。首先你需要去学习语法以及它必须提供的一切。你的学习应该聚焦在下面这些东西上: 学习HTML基础,了解如何编写语义HTML 理解如何把网页分...
阅读 1195·2023-04-25 23:47
阅读 883·2021-11-23 09:51
阅读 4281·2021-09-26 10:17
阅读 3679·2021-09-10 11:19
阅读 3233·2021-09-06 15:10
阅读 3529·2019-08-30 12:49
阅读 2362·2019-08-29 13:20
阅读 1708·2019-08-28 18:14