前言
最近应公司项目要求,入坑Ionic,查了很多资料之后感觉还是使用TypeScript来写比较好,因本人本身的C++功底,TypeScript正好是类似面向对象形式的,这样接受新语言环境也比较快。
TypeScript简介
资料显示,TypeScript之父与C#之父是同一人,所以用法与面向对象应该有相似之处,不过本人对C#不熟,此不做评论。
TypeScript类似C++,需要编译为js来执行,也依然可以打断点来调试ts文件。而且TypeScript还有语法检查、变量类型等配置,实在是能提高js的安全性,因此我选择TypeScript来作为主语言。
环境搭建
初始化项目
既然最终是编译成js,环境就是Node.JS了。配置好node与npm后创建一个Project目录:
|
|
初始化项目会生成package.json文件,此文件为项目依赖库的跟踪文件,当你将项目分享给其他人时,无需全部分享,只需分享项目代码与此文件,对方即可使用npm install来自己创建项目依赖环境
package.json 样例:
|
|
|
|
依赖库安装
下一步开始安装typescript、express、gulp等依赖库。
|
|
国内可能npm速度不是很给力,可以使用阿里出品的cnpm:
|
|
之后上边的安装就可以使用新的cnpm,速度提升很大哦:
|
|
这些常用的可以安装为全局及使用-g,也可以在项目中安装取消-g,加上–save
|
|
下面开始安装express等依赖库:
|
|
此时package.json变为:
|
|
|
|
TypeScript中依赖安装
本人使用typings,据网上资料显示,tsd已经过时了,所以也木有研究,此处不做评论。
此处typings,我是使用-g安装的全局:
|
|
使用–save安装本地则使用:
|
|
gulp配置
同样看到网上评论,grunt为基于json配置来管理自动化部署,而gulp基于代码形式,更倾向于程序员使用,而且可以自己制作部署细节。
基于网上找到的配置,使用了一下发现对于express的app形式的热更新不支持,所以又找了些资料,终于自己配置出来了,现分享下:
|
|
此配置可以在当前目录中使用gulp来启动了,默认gulp执行default任务(即重新编译),还可以手动自己执行不同的task任务,其中gulp serve是自动热更新部署。
效果为:
|
|
项目样例代码已更新GitHub(TypeScript-RESTful-sample)
代码中RESTFul样例我开发了一个简单的路由小框架。欢迎star。
参考链接: http://brianflove.com/2016/03/29/typescript-express-node-js/