我有一个打字稿模块@tlabs/models,在这里我只是在index.ts中导出:
self
每个文件中都有类似的内容:
export * from '../models......'
我唯一的依赖项是export const Project = typedModel('projects', ProjectSchema);
导入每个文件中,就像这样:
ts-mongoose
ts-mongoose是一个依赖项,它本身需要mongoose + mongoose类型。
在我的打字稿节点项目中,我将import { createSchema, Type, typedModel, ExtractProps } from 'ts-mongoose';
,ts-mongoose
和@ tlabs / models作为依赖项,并将mongoose
作为dev依赖项。
运行tsc很好,文件被编译并且没有错误被抛出,但是随后尝试运行实际文件被抛出:
@types/mongoose
我已经多次重新安装了所有模块,并通过vscode检查了package.json以及磁盘上的实际文件,它们就在那里。
我错过了什么?
我的tsconfig是:
Error: Cannot find module '@tlabs/models'
在我的节点项目中使用/导入它的正确方法是什么?
答案 0 :(得分:0)
我最终的TS配置:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "lib",
"strict": true,
"esModuleInterop": true
},
"include": ["src"]
}
和相关的package.json配置:
{
"main": "lib/index.js",
"types": "lib",
"scripts": {
"tsc": "tsc",
"build": "tsc -p ."
},
"files": [
"lib"
],
}