0

当我运行yarn start(ts-node src/index.ts) 时,我得到MODULE_NOT_FOUND Error: Cannot find module 'src/isAuth'. 在我添加新文件 isAuth.ts 之前,它可以正常工作

下面看看我的文件是如何组织的。 在此处输入图像描述

这是我的.tsconfig

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "lib": ["dom", "es6", "es2017", "esnext.asynciterable"],
    "sourceMap": true,
    "outDir": "./dist",
    "moduleResolution": "node",
    "declaration": false,

    "composite": false,
    "removeComments": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "noImplicitThis": true,
    "noUnusedLocals": true,
    "esModuleInterop": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "allowSyntheticDefaultImports": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "baseUrl": ".",
    "rootDir": "src"
  },
  "exclude": ["node_modules"],
  "include": ["./src/**/*.tsx", "./src/**/*.ts", "src"],
 
}

这是isAuth.ts文件:

import { verify } from "jsonwebtoken";
import { MiddlewareFn } from "type-graphql";
import { MyContext } from "./MyContext";
import * as dotenv from 'dotenv';
dotenv.config();


export const isAuth: MiddlewareFn<MyContext> = ({context}, next) => {
    const authorization = context.req.headers['authorization']

    if (!authorization) {
        throw Error('Not authenticated')
    }

    try {
        const token = authorization.split(' ')[1]
        const payload = verify(token, process.env.ACCESS_TOKEN_SECRET!)
        context.payload = payload as any
    } catch (error) {
        throw Error('Not Authenticated')
    }
    return next()
}

它在里面使用person.resolver.ts

请注意,我没有这个问题,MyContext.ts它是一个接口。const 函数是问题,还是其他问题?

4

1 回答 1

0

我是这个包管理的新手,但我认为你应该删除 node_modulesyarn add文件夹然后 运行yarn start node_modules 文件夹类似于下面的这个

于 2021-10-18T18:50:05.183 回答