Skip to content

使用装饰器

什么是装饰器

装饰器(Decorator)是 TypeScript 的一个实验性特性,可以为类、类的属性、方法等添加元数据或修改行为。它常用于依赖注入、日志、权限校验等场景。

在 Screeps 项目中,装饰器可以帮助我们更优雅地管理代码结构,比如自动注册任务、标记特殊 creep、收集统计信息等。

启用装饰器

首先需要在 tsconfig.json 中开启装饰器支持:

json
{
  "experimentalDecorators": true,
  "emitDecoratorMetadata": true
}

装饰器的详细知识请参考 官方文档

下面介绍一些应用场景。

示例:为 creep 行为添加日志

假设我们希望在执行某个方法时自动打印日志,可以这样实现:

方法装饰器日志示例 >
main.ts

代码编辑器加载中...

示例:控制函数执行频率

有时候我们希望函数每隔一定时间才会执行一次:

控制函数执行频率示例 >
main.ts

代码编辑器加载中...

示例:自动注册任务

装饰器还可以用于自动收集和注册任务:

自动注册任务示例 >
main.ts

代码编辑器加载中...

注意事项

  • 装饰器目前为实验性特性,未来语法可能有变动。
  • Screeps 的运行环境为 ES5,需确保编译输出兼容。
  • 装饰器适合用于元数据收集、自动注册等场景,不建议滥用。

参考资料

Released under the MIT License