NestJS跨域问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NestJS跨域问题相关的知识,希望对你有一定的参考价值。
参考技术A 再用vue开发前端,而使用NestJS作为后端时,在发起请求时会遇到跨域问题,解决方式很简单,只需在NestJS入口文件main.ts加上一句
表示允许跨域
在 Nestjs 问题中读取对象值
【中文标题】在 Nestjs 问题中读取对象值【英文标题】:Read object value in Nestjs problems 【发布时间】:2021-06-09 12:10:00 【问题描述】:在 Nestjs 中读取对象时遇到问题
有代码
@Post()
@UseInterceptors(
FileInterceptor('file',
storage: diskStorage(
destination: (req, file, cb) =>
const userId = req.body.username;
const usern = req.user;
console.log(usern);
const dir = `./public/avatar/$userId`;
fs.exists(dir, (exist) =>
if (!exist)
return fs.mkdir(dir, (error) => cb(error, dir));
return cb(null, dir);
);
console.log(usern) 返回
_id: '6026654c957fe6330a6d54c2',
status: 'active',
iat: 1615467122,
exp: 1615553522
但如果我尝试获取 req.user._id
则会出现错误
错误 TS2339:“用户”类型上不存在属性“_id”。
【问题讨论】:
【参考方案1】:看起来像 TypeScript 错误,您的 User
类似乎没有 _id
属性。你应该在类中添加属性。
【讨论】:
req.user return _id: '6026654c957fe6330a6d54c2', status: 'active', iat: 1615467122, exp: 1615553522 ,但我无法访问这些字段中的任何一个。例如 req.user.status 也会出错。 问题不在于你的代码表现如何,而在于你的代码编译。req.user
应该属于 User
类,因此当您询问 req.user._id
时,它会引发错误,因为您的类中不存在该属性。所以改变你的类以允许编译。以上是关于NestJS跨域问题的主要内容,如果未能解决你的问题,请参考以下文章