开门见山直接来。
第一步:新建一个目录,用来存放项目文件。
mkdir ts-node

第二步:初始化一个Node.js的项目。
npm init -y

第三步:初始化tsconfig.json
文件
tsc -init

第四步:修改tsconfig.json
文件
设置include
,exclude
,outDir
属性,做好最基本的配置。


第五步:安装@types/node
库
npm install --save-dev @types/node

至此,我们就可以用typescript
来编写Node.js
了。
试一下,新建一个./src/service.ts
文件,代码如下:
import * as http from 'http';
const serve = http.createServer((req, res) => {
res.end('Hello Node');
});
serve.listen(3000, () => {
console.log('服务已启动');
});
在命令行执行tsc
命令以编译.ts
文件,并执行编译后在build目录下生成的同名js文件。

访问页面,如图所示:

延伸一下,能不能用typescript
来编译Express
框架呢?
那一定是能啊,只要再安装一下@types/express
库就可以了。动手吧。
安装Express
和@types/express
库
npm install --save express
npm install --save-dev @types/express

好了,我们再来试一试,看是不是真的能用typescript
开发Express
。
新建一个./src/app.ts
文件,代码如下:
import express from 'express';
const app = express();
app.get('/', (req, res) => {
res.send('Hello Express');
});
app.listen(3000, () => {
console.log('Express已启动');
});
编译并运行:

访问页面,如图所示:

网友评论