配置TS + node 的开发环境
直接配置ts的开发环境还是挺麻烦的,这里我总结了一套开发模板,可以在用的时候可以考虑直接clone这个项目, 以这个项目为基础模板https://github.com/fish-node/template-node-ts 来开发就行。
$ tree
.
├── README.md
├── jest.config.js
├── package.json
├── src
│ ├── index.ts
│ ├── math.ts
│ └── server.ts
├── test
│ ├── math.test.ts
│ └── server.test.ts
├── tsconfig.json
└── tslint.json
复制代码
ts-node
因为ts是建立在js的基础之上的,但是node又不能直接运行ts代码,实际使用是往往需要使用tsc将ts代码编译成js代码,这无疑是很麻烦的。
而ts-node则包装了node,它可以直接的运行ts代码,使用起来很方便,它的官方仓库在这里 github.com/TypeStrong/… ,基本用法请自行查看它的readme。
我这里就是把ts-node写到package.json,大家在npm install之后,就可以通过
$ npx ts-node src/index.ts
复制代码
这种方式来运行ts代码,很方便。
然后我们知道node中有个nodemon,可以在开发时自动的重启我们的node程序,而在ts-node中,对应的就是ts-node-dev
$ npx ts-node-dev src/index.ts
复制代码
示例代码
在src目录下,我写了三个基本的ts代码
- math.ts就是最基本的ts的用法
- 然后server.js展示了如何使用ts编写一个http服务器
- index.ts则展示了ts中的模块化的使用
测试框架
然后我使用Jest 作为测试框架,在test目录下展示了用Jest + Ts 编写我们的测试程序。 运行测试文件的话,可以使用
$ npm run test
复制代码
@types
@types/node @types/jest 是ts中类型声明文件,它可以给js编写的模块赋予类型系统,让我们享受类型系统的好处。
配置文件
- .editorconfig是我们配置IDE的阅读配置文件
- tslint.json使我们的代码检查配置文件 这个文件主要是继承了官方推荐的代码风格。不过为了调试方便,把'no-console'这个条件设置为false了
tsconfig.json
然后重点是我们的ts配置文件。
一般来说,json文件是不支持注释的,但是ts官方为了方便,对这个文件单独做了加强,使得我们可以使用注释,注释语法和js中的一样。
{"compilerOptions": {"target": "es2018","module": "commonjs","outDir": "./dist/","rootDir": "./src/","strict": true,"moduleResolution": "node","esModuleInterop": true,"experimentalDecorators": true},"exclude": ["./test"]
}
复制代码
其中的target就是编译后js代码的版本,因为我们是node环境,没必要考虑浏览器的兼容问题,所以大家还是尽量的使用更新的版本吧。
而module选项则是我们的模块管理机制,因为我们的ts-node目前还不指出es的模块管理机制,参考这个问题https://github.com/TypeStrong/ts-node/issues/313#issuecomment-343698812 ,所以我们还是继续使用commonjs规范。
然后rootDir就是我们的源代码目录,outDir就是我们的编译后代码的目录。同时我们设置了exclude这个选项,把我们的测试文件排除在外。
转载于:https://juejin.im/post/5d00bd35e51d45773e418a61
配置TS + node 的开发环境相关推荐
- 前端小白配置mac下node+vue开发环境的各种姿势
背景:笔者(前端小白)之前mac环境下用的node 9.8.x版本,npm 6.13.4版本,昨天尝试ts,用vue-cli构建项目对时候,vscode给提示说node版本太低了,好,笔者听从前辈经验 ...
- 基于node.js开发环境下创建及开发vue.js项目的环境配置骤
基于node.js开发环境下创建开发vue.js项目的环境配置骤如下: 步骤一:安装node.js,安装完后运行node -v命令检安装node的查版本,判断是否安装成功.Npm是node.js包管理 ...
- 计算机系统的搭建步骤,电脑搭建Node.js开发环境的操作教程[多图]
电脑如何搭建Node.js开发环境?近日有用户询问怎么在Win7系统电脑上搭建Node.js开发环境,今天教程之家就给大家分享Node.js开发环境的搭建教程. 操作步骤: 1.下载Node.js官方 ...
- Ubuntu配置上位机Blackfin开发环境手记
Ubuntu配置上位机Blackfin开发环境手记 -------- 本文档适合使用Ctrl+F 搜索关键字 -------------- -------- It's more convenient ...
- java opencv 开发环境_在IntelliJ IDEA 13中配置OpenCV的Java开发环境
准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...
- 手把手教你学node之搭建node.js开发环境
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...
- vs code上配置tcl/tk语言开发环境
vs code上配置tcl/tk语言开发环境 基础软件 Tcl语言编译器 Active Tcl 文本编辑器 Visual Studio Code 语法高亮.语法提示支持 安装Tcl语言支持插件: 配置 ...
- 配置Fiori for iOS开发环境
写在前面 本文是Fiori for iOS系列文章的第三篇. SAP和苹果这两个IT大佬,在2017年联合推出了Fiori for iOS,让全球的开发者能在iOS平台上,方便地开发SAP企业应用. ...
- 配置OpenCV2和OpenCV3开发环境笔记
配置OpenCV2和OpenCV3开发环境笔记 Date: 2016-01-19 Author: Kagula Environment: Visual Studio 2013 Update5, Ope ...
最新文章
- nodejs -- promise的返回
- excel图片变成代码_没错, Python杀死了Excel
- Java编程中写出好代码的建议(转发)
- Web MVC Rest 处理流程分析
- Microsoft .NET Pet Shop 4 架构与技术分析(转)
- Fleury (弗罗莱) 算法通俗解释
- 得到qq正在登录的qq号
- C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session
- python小游戏代码_20行python代码的入门级小游戏
- 【Spring】Spring的AOP术语解释
- 计算机基础课作业答案,计算机应用基础课程作业及答案.doc
- linux是一个工程而不是理论
- 练习四十四:整数的排序
- 《Shell脚本学习指南》笔记--2011-12-17
- Red Giant Universe 3.0.2 for After Effects 破解版 Mac 红巨星宇宙特效插件包预设
- 信号完整性分析学习--16--传输线效应
- 项目范围管理:范围定义
- 2000坐标系xy坐标几位_2000国家大地坐标系
- 量化策略:如何利用自回归模型构建日内高频策略
- 赚享客系统模式app技术开发
热门文章
- 《资本说》如何帮助企业从“0”到“1”,看王波玩转投资攻略
- 在为时已晚前 阻止物联网安全威胁和攻击
- Swift类与OC类方法相互调用的
- 为Qt扩展QextSerialPort类
- 哥们,你侵权了,哥有权告你去!
- PowerPC VxWorks BSP分析7——image压缩
- sklearn API快速上手
- leetcode005 longest_palidrome
- C语言单链成绩表,【查找链表面试题】面试问题:C语言基于单链… - 看准网
- python免安装环境 linux_python如何打包脚本(库也一起打包),直接在linux环境运行,不需要安装库?...