簡體   English   中英

嘗試將打字稿庫用於 javascript express 應用程序

[英]trying to use typescript library into javascript express app

我試圖使用像打字稿庫這樣一個現有的快遞應用的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"

如果您只想要從這里開始的打字稿,但不想堅持使用已經編寫的 js 文件,您可以將其保留為 js 文件...

確保您的 tsconfig 配置了allowJs: true或僅使用此選項運行 tsc 。

查看allowJs選項,首先是編譯器選項: https ://www.typescriptlang.org/docs/handbook/compiler-options.html#compiler-options

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM