首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TypeScript

TypeScript

TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,向这个语言添加了可选的静态类型,在大型项目里非常有用。

ThinkJS 3.2 开始支持了创建 TypeScript 类型的项目,并且开发时会自动编译、自动更新,无需手工编译等复杂的操作。如果希望了解更多实现细节,请参考 ThinkJS 3.0 如何实现对 TypeScript 的支持

创建 TypeScript 项目

think-cli 版本 2.1.1 以后可以以下命令来创建 TypeScript 项目:

代码语言:javascript
复制
thinkjs new project-name typescript

引入 Extend 模块定义

用 think-cli 生成 TypeScript 项目模板之后(下文统称项目模板),会自动生成 src/index.ts 文件, 在这里需要配置项目用到了哪些 Extend 模块,这样 TS 的智能感知才会生效。

代码语言:javascript
复制
import * as ThinkJS from '../node_modules/thinkjs';

// 项目 Extend 模块
import './extend/controller';
import './extend/logic';
import './extend/context';
import './extend/think';
import './extend/service';
import './extend/application';
import './extend/request';
import './extend/response'; 

// 外部 Extend 模块
import 'think-view';
import 'think-model';
import 'think-i18n';
// 更多 extend 模块 参考 [think-awesome](https://github.com/thinkjs/think-awesome)

export const think = ThinkJS.think;

获取 model 和 service 类型

代码语言:javascript
复制
// in controller
import { think } from 'thinkjs';
import SomeService from '../service/someservice';
import SomeModel from '../model/somemodel';

export default class extends think.Controller {
  indexAction() {
    const serviceInstance = think.service('someservice') as SomeService;
    const modelInstance = think.model('somemodel') as SomeModel;
  }
}

TSLint

TypeScript 的项目编写风格与 JavaScript 的非常接近,只要经过一段时间的上手就能适应。我们还基于 ThinkJS 项目的特点配置了一套 TSLint 的规则包含在项目模板里。使用 TSLint 能更快速的在团队里实施规范,并保护代码。

编译部署

在开发环境可以使用 think-typescript 编译,还支持 tsc 直接编译, 编译后的代码和 JS 版本是通用的。

扫码关注腾讯云开发者

领取腾讯云代金券