专栏首页前端导学使用Typescript开发node.js项目

使用Typescript开发node.js项目

创建项目

npm init

安装相应的库

npm install --save-dev typescript

npm install --save-dev nodemon

npm install --save-dev ts-node

npm install --save-dev @types/koa


npm install --save koa

package.json内容差不多如下

{
  "name": "learn-ts",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon -x ts-node --inspect app.ts",
    "start": "node dist/app.js",
    "build": "tsc "
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@types/koa": "^2.0.46",
    "nodemon": "^1.17.5",
    "ts-node": "^6.1.0",
    "typescript": "^2.9.1"
  },
  "dependencies": {
    "koa": "^2.5.1"
  }
}

生成tsconfig.json文件

tsc --init

tsconfig.json文件设置如下

{
  "compilerOptions": {
    "outDir": "./dist/",
    "module": "commonjs",
    "noImplicitAny": true,
    "preserveConstEnums": true,
    "sourceMap": true,
    "target": "es5",
    "allowJs": true
  }
}

在根目录下创建 app.ts文件

import * as Koa from 'koa'

const app = new Koa()

app.use(ctx => {
  ctx.body = 'xiadd'
})

app.listen(8002, () => {
  console.log('server is running')
})

输入命令进行编译和运行

npm run build

npm run start

也可以创建run.sh文件 将运行命令写入该文件

nodemon --ext js,ts --exec ts-node dist/app

运行run.sh命令

./run.sh

Typescript特点

typescript 通过构造函数的参数直接定义属性,为了证明,我们创建一个info.ts文件 内容如下

class info{
    constructor(public name:string,private password:string,email:string){
    }
}

使用tsc info.ts进行编译后 生成info.js

var info = /** @class */ (function () {
    function info(name, password, email) {
        this.name = name;
        this.password = password;
    }
    return info;
}());

值得注意的是,构造函数的参数需要指明为public或者private ,参数才会默认成为属性。

github地址 https://github.com/lilugirl/learn-ts

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • npm更新和nodejs更新

    更新Nodejs自身。一直依赖我都是下载最新版的源码,然后make install,及其繁琐。其实只需要运行以下2个命令即可:

    lilugirl
  • hash定位tab的代码

    lilugirl
  • PHP和MySQL Web开发

    lilugirl
  • 适配iPhone X 的齐刘海

    当苹果宣布发布他们的旗舰手机-- iPhone X 的时候,他们允诺将为未来移动设备设定新的标准。我们决定需要了解一些内容。 “屏幕再也不必是方...

    前端黑板报
  • GIT分支管理和常用命令

    master 分支 不能往master 分支上提交代码,只能在该分支上进行代码合并操作,例如将其它分支的代码合并到 Master 分支上。 develop ...

    黄小怪
  • Git 使用详解

    本文列举了 Git 的常用配置及使用方法。 配置 查看配置 $ git config -l 或者直接编辑 ~/.gitconfig 文件,但不推荐。 代理设置 ...

    康怀帅
  • 帮助你开始学习天文学的4个 Python 工具【Programming(Python)】

    用 NumPy、 SciPy、 Scikit-Image 和 Astropy 探索宇宙

    Potato
  • 手写一个orm框架-6

    上一篇里我们实现了生成insert的sql,下面要开始实现update,delete,select的sql语句了。但是这些语句有一个比较麻烦的地方是:它们一般后...

    何白白
  • npm Error: EACCES: permission denied

    To minimize the chance of permissions errors, you can configure npm to use a dif...

    SkyRiN
  • MySQL 优化实战记录

    N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库。服务器中的javaweb程序将数据展示到网页上供用户查看。

    良月柒

扫码关注云+社区

领取腾讯云代金券