javascript - 指的是一个值,但在这里被用作一个类型
问题描述
我是 typescript 和 node.js 的新手,而且我正在尝试使用 typescript 和 node.js 我用猫鼬创建一个模型并将其导入到我的 users.service.ts 文件中,但是当我使用得到这个错误时,
CreateUserDto' refers to a value but is being used as a type here. Did you mean 'typeof CreateUserDto'?
我创建了一个文件名称为 users.ts 这是我的模型,还创建了一个名称为 users.service.ts 的文件,这些文件的代码可以在下面找到,请帮助我,我可以修复错误,非常感谢。
错误图像 模型: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();
解决方案
CreateUserDto
是一个mongoose
模型,这不是打字稿的有效类型描述符。您可以在此处阅读所有有效的 ts 类型。
您想要做的是使用IUser
您创建的界面,而不是像这样:
async create(resource: IUser) {
return UsersDao.addUser(resource);
}
推荐阅读
- java - 如何异或 4 字节数组
- c# - 在 DateTime 类构造函数中添加纳秒值
- javascript - 我正在尝试显示文本,单击时播放音频,当声音结束时出现新文本,单击时播放新音频
- node.js - 如何修复服务器无法在 Angular IDE 的 CLI 服务器选项卡上启动
- python - 在 Tensorflow 对象检测 API 中裁剪图像并显示它
- toad - 如何防止 Oracle Toad 中的意外删除
- javascript - Web3 1.0:`web3.eth.call(tx)` 为合约创建返回什么?
- react-native - React-Navigation 增加向后滑动区域
- type-conversion - U-SQL DataType conversion
- shell - 使用字段验证行号的 AWK 脚本