在我职业生涯的开始,我是一名桌面应用程序开发人员,强类型语言在市场上占主导地位。当我转向Web开发时,我对JavaScript和Python等语言的每一个新特性都着迷。我不必声明变量的类型这一事实极大地提高了我的工作效率并使我的工作更有趣。所以当我第一次听说TypeScript时,我脑海中的第一个想法就是这门语言的进化是否是一种倒退。我改变主意了吗?是的,但这也要视情况而定。对于我一个人做的个人项目,我还是更喜欢纯JavaScript,他的效率更高。但是,对于那种团队合作的大型项目,我推荐使用TypeScript。在整篇文章中,我将解释如何使用它以及为什么使用它。生产力和维护根据概念定义,“TypeScript是用于应用程序规模开发的JavaScript”。也就是说,我们在项目初始设置方面的工作得到了复杂项目的可维护性的补偿。让我们来看看为什么会发生这种情况:类型安全=更少错误通过在代码中定义类型,您允许IDE在使用仅在运行时才知道的类和函数时确认错误。示例:我在这里使用VisualStudioCode,它指出了两个错误:第6行:我们正在尝试将字符串参数传递给只接受数字的函数。第9行:我们试图将返回数字的函数的结果分配给字符串。如果没有Typescript,这两个错误将不会被注意到,从而导致最终应用程序中出现一些错误。IDE更容易找到公共项目模块在复杂的项目中,我们有数百个类分布在多个文件中。当我们定义类型时,IDE能够将对象和函数关联到赋予它们来源的文件。当control+单击从另一个文件导入的方法或类时,IDE将自动导航到导入的文件,突出显示定义引用的行。我们可以在从其他文件导入的类中使用自动完成。维护困难是Java和C#开发者避免将大型项目迁移到JS的主要原因之一。可以说,Typescript是一种克服这一障碍的企业语言。如何使用Typescript设置Express项目现在让我们一步一步地创建一个在Express.js项目中使用Typescript语言的环境。npminit我们现在安装打字稿包。npminstalltypescript-s关于Typescript节点包Node.js是一个运行Javascript而不是Typescript的引擎。NodeTypescript包允许您将.ts文件转换为.js脚本。Babel也可以用来转译Typescript,但市场标准是使用微软官方包。在我们的package.json中,我们将放置一个名为tsc:"scripts":{"tsc":"tsc"}的脚本,此修改允许我们从项目文件夹中的命令行调用typescript函数。所以我们可以使用下面的命令:npmruntsc--init这个命令通过创建一个tsconfig.json文件来初始化typescript项目。在这个文件中,我们将取消对outDir选项的注释,并为要传送的转译.js文件选择一个位置:installexpress.jsnpminstallexpress-sExpress和Typescript包是独立的。这样做的结果是Typescript不“知道”Express类的类型。Typescript有一个特定的npm包来识别Express类型。npminstall@types/express-sHelloworld为了获得最简单的应用程序,我将使用express.js教程的helloworld示例:varexpress=require('express');varapp=express();app。get('/',function(req,res){res.send('helloworld!');});app.listen(3000,function(){console.log('示例应用监听端口3000');})在我们的项目中,我们将创建一个名为app的文件夹。在此文件夹中,我们将创建一个名为app.ts的文件,其中包含以下内容:importexpress=require('express');//创建一个新的express应用程序实例constapp:express.Application=express();app.get('/',function(req,res){res.send('HelloWorld!');});app.listen(3000,function(){console.log('示例应用监听端口3000!');});编译我们的第一个应用程序npmruntsc如您所见,该命令自动创建了构建文件夹和.js文件。运行express:nodebuild/app.js有了这个,我们已经有一个在端口3000上运行的服务器:运行TypeScript无需转译您可以使用ts-node包直接在节点上运行typescript。建议仅将此包用于开发。对于生产中的最终部署,始终使用项目的javascript版本。ts-node已作为另一个包Tts-node-dev的依赖项包含在内。安装ts-node-dev后,只要项目文件发生更改,我们就可以运行命令重新启动服务器。npminstallts-node-dev-s在我们的packege.json中,我们将添加两个脚本:"scripts":{"tsc":"tsc","dev":"ts-node-dev--respawn--transpileOnly。/app/app.ts","prod":"tsc&&node./build/app.js"},要启动开发环境:npmrundev要在生产模式下运行服务器:npmrunprod有什么问题你可以评论给我留言,谢谢阅读!
