nest学习-ts装饰器

报错
说明我们还没下载typescript

安装

npm i typescript -g

查看版本

tsc -v

查看ts版本
这样我们就可以使用ts了

初始化ts项目

 tsc --init

定义一个ts声明xx.d.ts

declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;

要用到装饰器就要取消experimentalDecorators注释
打开experimentalDecorators

装饰器代码

const HelloWorld:ClassDecorator = (target:any) =>{
    console.log(target)
}

@HelloWorld
class MyClassOne {
    constructor(){
        console.log('hello')
    }
}

const app:any = document.getElementById("app")

const myClassOne:MyClassOne = new MyClassOne()

问题(一)

问题一

如果这个问题在配置了experimentalDecorators后还存在,那么就可以

解决办法

tsconfig.json中找到rootDir(入口文件目录)outDir(打包文件目录)中设置
设置入口打包文件夹位置
直接执行指令tsc即可或者tsc -w(监听)

添加一个html来查看

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ts装饰器测试</title>
</head>
<body>
    <div id="app">

    </div>
</body>
<script src="./dist/main.js"></script><!--添加的是打包好的js代码-->
</html>
生成的js代码(自己不用写,是tsc生成的)
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
const HelloWorld = (target) => {
    console.log(target);
};
let MyClassOne = class MyClassOne {
    constructor() {
        console.log('hello');
    }
};
MyClassOne = __decorate([
    HelloWorld
], MyClassOne);
const app = document.getElementById("app");
const myClassOne = new MyClassOne();

打开控制台查看
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
nestjs redis是一个用于在Nest.js应用程序中使用Redis的插件。它提供了一些方便的功能,使您可以轻松地在应用程序中连接和操作Redis数据库。您可以通过以下步骤来使用nestjs redis插件: 1. 首先,您需要安装Redis。您可以根据您的系统平台选择适当的版本,并将其解压到您喜欢的位置。在这里,我们将假设您已经安装并解压了Redis压缩包到C盘,并将其文件夹重新命名为redis。 2. 接下来,您需要在您的Nest.js应用程序中安装nestjs-redis插件。您可以使用yarn或npm命令进行安装。如果您使用yarn,可以运行以下命令: yarn add nestjs-redis 如果您使用npm,可以运行以下命令: npm install nestjs-redis --save 3. 在您的app.module.ts文件中,您需要注册Redis模块。您可以导入RedisModule并在@Module装饰器中将其添加到imports数组中,如下所示: import { Module } from '@nestjs/common'; import { RedisModule } from 'nestjs-redis'; @Module({ imports: [RedisModule.forRoot()], }) export class AppModule {} 注意,您可以根据需要配置Redis模块,例如指定Redis服务器的主机和端口等。 4. 现在,您可以在您的Nest.js应用程序中使用nestjs redis插件了。您可以通过注入RedisService来在您的服务类中使用Redis功能。例如,您可以使用RedisService的方法来执行Redis命令,如get、set、del等。 这是一个使用nestjs redis的简单示例: ```typescript import { Injectable } from '@nestjs/common'; import { RedisService } from 'nestjs-redis'; @Injectable() export class MyService { constructor(private readonly redisService: RedisService) {} async getData(key: string): Promise<string> { const client = this.redisService.getClient(); return await client.get(key); } async setData(key: string, value: string): Promise<void> { const client = this.redisService.getClient(); await client.set(key, value); } } ``` 在上面的示例中,我们注入了RedisService,并使用getClient方法获取Redis客户端实例。然后,我们可以使用该实例执行Redis的get和set命令。 总结起来,nestjs redis是一个方便的插件,可以帮助您在Nest.js应用程序中轻松地连接和操作Redis数据库。通过安装Redis和nestjs-redis插件,注册Redis模块,并注入RedisService,您就可以开始在您的应用程序中使用Redis功能了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nest.js中使用redis](https://blog.csdn.net/index2/article/details/107413745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [nestjs-redis:nestjs redis模块](https://download.csdn.net/download/weixin_42134143/18331595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

结城明日奈是我老婆

支持一下一直热爱程序的菜鸟吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值