当我跑的时候
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
这是一个接口。常量函数是一个问题,还是其他问题?