【发布时间】:2020-02-05 12:14:58
【问题描述】:
我正在尝试将 this 之类的 typescript 库用于现有的 express nodejs 应用程序。但它不工作。当我导入库函数时,它会给出错误,例如无法读取未定义的属性“构造函数”。
我也在将 ts 文件编译成 js 文件。有没有其他方法可以将打字稿用于现有的节点 js 应用程序?
这里是错误堆栈
"stack": "TypeError: Cannot read property 'constructor' of undefined\n at MetadataStorage.getAncestors (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/metadata/MetadataStorage.js:199:73)\n at MetadataStorage.getMetadata (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/metadata/MetadataStorage.js:146:36)\n at MetadataStorage.getExposedMetadatas (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/metadata/MetadataStorage.js:91:21)\n at MetadataStorage.getExposedProperties (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/metadata/MetadataStorage.js:97:21)\n at TransformOperationExecutor.getKeys (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/TransformOperationExecutor.js:328:70)\n at TransformOperationExecutor.transform (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/TransformOperationExecutor.js:110:29)\n at ClassTransformer.plainToClass (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/ClassTransformer.js:17:25)\n at plainToClass (/Users/saurabhkumar/platform/rest-api-service/node_modules/class-transformer/index.js:20:29)\n at Object.<anonymous> (/Users/saurabhkumar/platform/rest-api-service/build/src/api/controllers/source.controller.js:67:22)\n at Generator.next (<anonymous>)\n at /Users/saurabhkumar/platform/rest-api-service/build/src/api/controllers/source.controller.js:7:71\n at new Promise (/Users/saurabhkumar/platform/rest-api-service/node_modules/es6-shim/es6-shim.js:2393:11)\n at __awaiter (/Users/saurabhkumar/platform/rest-api-service/build/src/api/controllers/source.controller.js:3:12)\n at exports.create (/Users/saurabhkumar/platform/rest-api-service/build/src/api/controllers/source.controller.js:58:38)\n at Layer.handle [as handle_request] (/Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/layer.js:95:5)\n at next (/Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/route.js:137:13)\n at /Users/saurabhkumar/platform/rest-api-service/build/src/api/controllers/auth.controller.js:12:13\n at Layer.handle [as handle_request] (/Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/layer.js:95:5)\n at next (/Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/route.js:137:13)\n at Route.dispatch (/Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/route.js:112:3)\n at Layer.handle [as handle_request] (/Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/layer.js:95:5)\n at /Users/saurabhkumar/platform/rest-api-service/node_modules/express/lib/router/index.js:281:22"
【问题讨论】:
-
如果真的有新线,而不是一条大线,那会很有帮助...
-
如果您想在您的 express 应用上使用 typescript,请查看
https://www.npmjs.com/package/ts-node-dev。
标签: javascript node.js typescript express