在 Nest js 打字稿中给出错误不是模块

问题描述 投票:0回答:1

我使用 Nest js 来构建我的项目,但是我在工作中遇到了一个错误,我没有找到任何解决方案,我正在从文件中导出一个函数并将其导入到控制器中,但它给出了错误这不是一个模块,没有进行导出,但我正在导出函数,如代码中所示

我的守卫代码

``import { AuthGuard } from '@nestjs/passport';
export class AdminGuard extends AuthGuard ('admin'){
    constructor(){
     
        super();
    }
}`

`导出这个

```export * from './admin-jwt.strategy'`

` 我的控制器文件代码

``import { Controller, Get,UseGuards } from '@nestjs/common';
import { UserService } from './user.service';
import { JwtGuard,AdminGuard } from 'src/auth/guard';
import { DynamicRole } from 'src/auth/decorator';

@UseGuards(AdminGuard,DynamicRole)
@DynamicRole('superadmin', 'support')

@Controller('user')
export class UserController {
    constructor(private userservice:UserService){}
    @Get('me')
    getme(){
        return this.userservice.getme();
    }

}`
`

`this error show on console 我尝试重新启动服务器并检查 ts 配置并检查 dist 文件夹是否有任何错误,但没有找到任何内容

我的 ts 配置文件

`{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "ES2021",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false
  }
}`

我也尝试使用 es6 更改 commonjs,但未找到内置模块的其他错误 poopup,如下图所示

typescript module nestjs
1个回答
0
投票

问题在于导入

import { JwtGuard,AdminGuard } from 'src/auth/guard';

使用 ../ 代替 src

import { JwtGuard,AdminGuard } from '../auth/guard';
© www.soinside.com 2019 - 2024. All rights reserved.