簡體   English   中英

指的是一個值,但在這里被用作一個類型

[英]refers to a value, but is being used as a type here

I am new in typescript and node.js and also I am Trying to use typescript and node.js I create a model with mongoose and import it to my users.service.ts file but when I use to get this error CreateUserDto' refers to a value but is being used as a type here. Did you mean 'typeof CreateUserDto'? CreateUserDto' refers to a value but is being used as a type here. Did you mean 'typeof CreateUserDto'? 我創建了一個名為 users.ts 的文件,這是我的 model 並且還創建了一個名為 users.service.ts 的文件,您可以在下面找到這些文件的代碼,請幫助我,我可以修復錯誤,非常感謝。

錯誤圖像Model:users.ts

import * as mongoose from 'mongoose';
// import IUser from "../interface/users"
import { Schema, Document } from 'mongoose';

export interface IUser extends Document {
  firstName: String,
  lastName: String,
  email: String,
  password: String
}

const UserSchema: Schema = new Schema({
  firstName: {
    type: String,
    required: true
  },
  lastName: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true
  },
  password: {
    type: String,
    required: true
  }
}, {
  timestamps: true
});
export default mongoose.model<IUser>('User', UserSchema);

users.service.ts

import UsersDao from '../daos/users.dao';
import { CRUD } from '../../common/interfaces/crud.interface';
import CreateUserDto from "../model/users";
import { PutUserDto } from '../dto/put.user.dto';
import { PatchUserDto } from '../dto/patch.user.dto';

class UsersService implements CRUD {

    async create(resource: CreateUserDto) {
        return UsersDao.addUser(resource);
    }

    async deleteById(id: string) {
        return UsersDao.removeUserById(id);
    }

    async list(limit: number, page: number) {
        return UsersDao.getUsers();
    }

    async patchById(id: string, resource: PatchUserDto) {
        return UsersDao.patchUserById(id, resource);
    }

    async readById(id: string) {
        return UsersDao.getUserById(id);
    }

    async putById(id: string, resource: PutUserDto) {
        return UsersDao.putUserById(id, resource);
    }

    async getUserByEmail(email: string) {
        return UsersDao.getUserByEmail(email);
    }
}

export default new UsersService();

CreateUserDtomongoose model,這不是 typescript 的有效類型描述符。 您可以在此處閱讀所有有效的 ts 類型。

您要做的是使用您創建的IUser界面,如下所示:

async create(resource: IUser) {
   return UsersDao.addUser(resource);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM