NestJS 与 node-redis

NestJS with node-redis

想知道是否有人可以帮助我解决这个问题,因为我是 NestJS 的新手。

我正在尝试在我现有的 NestJS 服务中使用 Redis,而不是像他们的示例中的 Nest 文档那样创建一个单独的微服务。当我从 node-redis 导入 redis 时,它返回为未定义。

token.service.ts

import { Injectable } from '@nestjs/common';
import { v4 as uuidv4 } from 'uuid';
import redis from 'redis';

@Injectable()
export class TokenService {
    constructor() {
        // create new redis client with default options
        this.client = redis.createClient();
        this.client.on('error', err => console.error(err));
    }

    ...
}

我得到的错误: Cannot read property 'createClient' of undefined

我从未在 Node 中见过未定义的导入,所以我想知道这是 NestJS 的特定问题,还是与我正在使用的 redis 包有关。

感谢任何帮助。

您的导入语句可能有问题。

尝试更换

import redis from 'redis';

与:

import * as redis from 'redis';

const redis = require('redis');