使用TS编写表达服务器

  介绍

本篇文章为大家展示了使用TS编写表达服务器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。


作为前端开发人员而言,TS已经成为了一项必不可少的技能,类型检查可以帮助我们再开发时避免一些不必要的bug,而且TS支持的类和装饰器等语法也更逼近后端语言,更适合服务器的开发。
本文将从零开始,搭建一个集成TS和eslint语法检查的快递服务器。


我们可以使用官方提供的表达生成器来快速生成表达框架。
当然,表达的初始化内容并不复杂,你也可以从一个应用程序。js开始搭建自己喜欢的框架模式。

 #使用表达生成器之前必须全局安装过express-generator
  npm安装- g express-generator美元
  
  #——视图后面是确定你使用哪种视图引擎,服务器是你工程的名称
  美元表达——视图ejs服务器
  
  #生成的工程并不会默认给我们添加git,这里我们使用git init初始化一下
  美元git init 

初始化完成后我们添加一个。gitignore文件

node_modules/dist/


全局安装TS

TS本身属于js的超集,节点和浏览器并不认识,执行前需要先编译成js,所以没有全局安装过TS的需要先全局安装一下

 npm美元安装- g打印稿

<强>安装表达类型依赖

表达是基于节点环境的,所以我们需要安装两个类型依赖,以获得相关api的类型提示

——save-dev npm安装@types美元/节点      美元npm安装@types/表达——save-dev

<强>配置tsconfig.json文件

在项目根目录下新建tsconfig。json文件,outDir表示打包输出路径

{   “compilerOptions": {   “target":“es2016"   “module":“commonjs"   “lib":(“es2016",“dom"),   “outDir":“。/dist"   },   “exclude": [“node_modules"]   }

这里如果包含了包括或者文件选项,将不会默认编译所有ts文件。

接下来我们可以把项目的所以js文件的后缀改为。ts,然后直接在命令行运行

 

默认会找到根目录下的tsconfig。json文件,按照配置帮我们进行编译,编译完成我们可以看到dist文件夹已经将所有ts文件编译成了js文件,而且保持了原来的目录结构。

接下来我们将目录下的其他资源也放入dist文件夹下,然后运行

节点。美元/dist/bin/www 

这时我们的服务已经可以正常启动了,但是在开发时如果每次运行都要进行编译→将资源文件移入→运行命令的流程,那也太繁琐了,所以接下来我们再添加一个第三方库ts-node。

<强>使用ts-node将ts文件编译在内存中

在使用ts-node之前需要进行全局安装

npm美元安装ts-node - g      #用ts-node直接运行项目,这个库会将我们的ts文件编译成js文件保存在内存中进行引用   ts-node美元。/bin/www

虽然ts-node可以帮我们直接运行ts文件,但在开发完成后部署在生产环境时,还是推荐使用tsc打包出来的js文件会更加稳定。

<强>使用nodemon进行热更新

全局安装nodemon

 npm美元安装nodemon - g
  
  #执行命令运行项目
  美元nodemon - e ts - exec ts-node。/bin/www 

- e:表示指定观察列表(指定扩展观察名单)
- exec:代表命令行形式执行命令

<强>配置npm脚本

“scripts": {   “时:“ts-node。/bin/www"   “dev":“nodemon - e ts - exec ts-node。/bin/www",   “build":“tsc"   “server":“节点。/dist/bin/www"   }


为什么不是tslint ?

tslint弃用。
看到这个问题的更多细节:路线图:TSLint→ESLint。如果你# 39;有意帮助TSLint/ESLint迁移,请查看我们的OSS奖学金计划。

这是tslint团队给出的答案,目前推荐使用的是typescript-eslint。

<强>为项目配置eslint

 #未全局安装的需要全局安装
  美元npm安装eslint - g
  
  eslint美元——初始化
  √你想如何使用ESLint& # 63;·风格
  √你的项目什么类型的模块use& # 63;·commonjs
  √哪个框架项目use& # 63;·没有
  √你的项目使用TypeScript& # 63;·是的
  √你的代码哪里run& # 63;·节点
  √你想如何定义的风格project& # 63;·指南
  √你想要哪种风格指南follow& # 63;·标准
  √你想要什么格式的配置文件是远大于# 63;·JavaScript
  检查peerDependencies eslint-config-standard@latest
  当地ESLint安装未找到。
  的配置你们# 39;已经选定需要以下附件:
  
  @typescript-eslint/eslint-plugin@latest eslint-config-standard@latest eslint@>=7.11.0 eslint-plugin-import@>=2.22.1 eslint-plugin-node@>=11.1.0 eslint-plugin-promise@>=4.2.1 eslint-plugin-standard@>准备;=4.0.2 @typescript-eslint/parser@latest
  √你想安装它们现在npm& # 63;·是的

使用TS编写表达服务器