【发布时间】:2020-04-25 12:40:32
【问题描述】:
我有一个这样的实体,我在其中定义了一个timestamp 字段,它是一个luxon DateTime:
import { DateTime } from 'luxon'
import { Table, Column, Model, DataType } from 'sequelize-typescript'
import Sequelize from 'sequelize'
import { ApiProperty } from '@nestjs/swagger'
@Table({})
export default class MyModel extends Model<MyModel> {
@ApiProperty({type: () => DateTime})
@Column({
type: DataType.DATE,
})
timestamp: DateTime
}
我的 tsconfig 如下所示:
{
"compilerOptions": {
"module": "CommonJS",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"target": "ES6",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"noUnusedLocals": true,
"moduleResolution": "Node"
},
"exclude": ["node_modules", "dist"]
}
当我尝试启动 NestJs 服务器时,swagger 插件会尝试从我的实体元数据中获取类型,这会导致它尝试和 require '../../../node_modules/@types/luxon/index' luxon 类型。
类型已安装,我可以看到它们。他们似乎也被我的 vscode 识别了。
但是,我得到了错误:
(node:272) UnhandledPromiseRejectionWarning: Error: Cannot find module '../../../node_modules/@types/luxon/index'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.type (projectDir\dist\src\usage\entities\register-read.entity.js:24:158)
at SchemaObjectFactory.mergePropertyWithMetadata (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:86:38)
at modelProperties.map.key (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:55:35)
at Array.map (<anonymous>)
at SchemaObjectFactory.exploreModelSchema (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:54:52)
at SchemaObjectFactory.createNotBuiltInTypeReference (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:117:37)
at SchemaObjectFactory.mergePropertyWithMetadata (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:93:25)
at modelProperties.map.key (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:55:35)
at Array.map (<anonymous>)
at SchemaObjectFactory.exploreModelSchema (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:54:52)
at SchemaObjectFactory.createNotBuiltInTypeReference (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:117:37)
at SchemaObjectFactory.mergePropertyWithMetadata (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:93:25)
at modelProperties.map.key (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:55:35)
at Array.map (<anonymous>)
at SchemaObjectFactory.exploreModelSchema (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:54:52)
at SchemaObjectFactory.createNotBuiltInTypeReference (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:117:37)
at SchemaObjectFactory.mergePropertyWithMetadata (projectDir\node_modules\@nestjs\swagger\dist\services\schema-object-factory.js:93:25)
【问题讨论】:
-
我也有同样的问题。你找到答案了吗??
标签: typescript swagger nestjs