Error: Cannot find module 'src/entities/Post'
Error: Cannot find module 'src/entities/Post'
所以我正在使用 type-graph 和 mikro-orm 创建一个 graphQL 服务器
一切都很好,直到我收到这个错误 => Error: Cannot find module 'src/entities/Post' 并且该模块存在,如您在这张图片中所见:
folder structure
这就是终端中的错误:error in the terminal
顺便说一句,我正在使用名为 watch: "tsc -w" 的脚本将 typescript 转换为 javascript。
这是我的 postResolver 的代码示例:
import { Post } from './src/entities/Post';
import { MyContext } from 'src/types';
import {Ctx, Query, Resolver} from 'type-graphql';
@Resolver()
export class postResolver {
@Query(()=> [Post])
posts(@Ctx() {em}: MyContext) : Promise<Post[]>{
return em.find(Post, {})
}
}
它说模块 ./src/entities/Post 存在时不存在,我真的不知道为什么
解决它的最快方法是使用相对导入 (import { Post } from '../entities/Post'
) 而不是像您那样使用绝对导入。
另一种满足节点继续使用绝对路径的方法是将以下内容添加到您的 tsconfig 文件中。请注意,您需要为要导入的 'src' 级别的每个目录添加路径。
"compilerOptions": {
"baseUrl": "src",
"paths": {
"src/*": ["src/*"],
"entities/*": ["src/entities/*"],
"resolvers/*": ["src/resolvers/*"]
...
},
...
}
或者您可以使用安装到您的 devDependecies
的包 like this one
所以我正在使用 type-graph 和 mikro-orm 创建一个 graphQL 服务器 一切都很好,直到我收到这个错误 => Error: Cannot find module 'src/entities/Post' 并且该模块存在,如您在这张图片中所见: folder structure
这就是终端中的错误:error in the terminal
顺便说一句,我正在使用名为 watch: "tsc -w" 的脚本将 typescript 转换为 javascript。
这是我的 postResolver 的代码示例:
import { Post } from './src/entities/Post';
import { MyContext } from 'src/types';
import {Ctx, Query, Resolver} from 'type-graphql';
@Resolver()
export class postResolver {
@Query(()=> [Post])
posts(@Ctx() {em}: MyContext) : Promise<Post[]>{
return em.find(Post, {})
}
}
解决它的最快方法是使用相对导入 (import { Post } from '../entities/Post'
) 而不是像您那样使用绝对导入。
另一种满足节点继续使用绝对路径的方法是将以下内容添加到您的 tsconfig 文件中。请注意,您需要为要导入的 'src' 级别的每个目录添加路径。
"compilerOptions": {
"baseUrl": "src",
"paths": {
"src/*": ["src/*"],
"entities/*": ["src/entities/*"],
"resolvers/*": ["src/resolvers/*"]
...
},
...
}
或者您可以使用安装到您的 devDependecies
的包 like this one