在生产构建我的 vue.js 应用程序后,我发现我的 chunk-vendors 文件太大,这对 Web 性能有影响,屏幕如下:
如何减小该文件的大小?
我尝试通过延迟加载在 router.js 中导入组件,但这里没有帮助,这个问题的另一个解决方案是什么?
谢谢你的帮助!
我在 NestJs 中创建一个身份验证中间件,如下所示:
@Injectable()
export class AuthenticationMiddleware implements NestMiddleware {
constructor() {}
async use(req: any, res: any, next: () => void) {
const authHeaders = req.headers.authorization;
if (authHeaders) {
//some logic etc.
//req.user = user;
next();
} else {
throw new UnathorizedException();
}
}
}
Run Code Online (Sandbox Code Playgroud)
...我从标题中获取一个身份验证令牌,对其进行解码并检查该用户是否正确并且存在于数据库中,如果他存在,那么我将user对象设置为req.user. 现在我有一个问题,如何req.user在我的服务中获取它并在业务逻辑中使用?我需要从中获取 ID req.user,但我不知道如何获取。
我知道我可以通过@Req() request在控制器参数中使用并将其传递request到我的函数中来做到这一点,但我不想要它,因为(对我来说)是一种丑陋的做法。那么,如何将其纳入req.user我的服务中呢?
谢谢你的帮助!
我NestJS用许多模块构建项目,最近我有点迷失在它们中,我正在做的最后一件事被添加QueueService到我的ProjectServiceand中ProjectModule,但是在启动整个应用程序后,编译器向我抛出这个:
Error: Nest can't resolve dependencies of the QueueService (UtilsService, UserService, Connection, ?). Please make sure that the argument Object at index [3] is available in the ProjectModule context.
Run Code Online (Sandbox Code Playgroud)
索引 [3] 处的参数QueueService是ProjectService,那么为什么他们想要从我这里导入ProjectModule/ProjectService到我的ProjectModule?:P
这是我的所有代码:
@Injectable()
export class ProjectService {
constructor(
private conn: Connection,
private utilsService: UtilsService,
private userService: UserService,
private notificationService: NotificationsService,
private queueService: QueueService
) { }
Run Code Online (Sandbox Code Playgroud)
@Module({
imports: [
PassportModule.register({ defaultStrategy: 'jwt'})
], …Run Code Online (Sandbox Code Playgroud)