当我运行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 函数是问题,还是其他问题?

