打字稿中的Nodejs需要('this')(that)

Posted

技术标签:

【中文标题】打字稿中的Nodejs需要(\'this\')(that)【英文标题】:Nodejs require('this')(that) in Typescript打字稿中的Nodejs需要('this')(that) 【发布时间】:2017-11-06 19:12:44 【问题描述】:

我在节点 lambda 函数中使用 @awspilot/dynamodb,但也使用打字稿。

标准的 nodejs var x = require('x') 在 typescript 中变成 import * as x from 'x' 没问题 - 但 @awspilot/dynamodb 需要稍微不寻常的:

var $db = new AWS.DynamoDB()
var awspilotDB = require('@awspilot/dynamodb')($db)

有没有一种打字稿方式将其呈现为import 并仍然传递额外的参数?

谢谢,

D

【问题讨论】:

【参考方案1】:

require('@awspilot/dynamodb') 正在返回一个函数。因此,以下应该可以正常工作:

import * as DynamodbFactory from '@awspilot/dynamodb'
const awspilotDB = DynamodbFactory($db)

当然,您可以为DynamodbFactory 选择任何您喜欢的名称。


或者,您也可以将 require 函数与 TypeScript 一起使用,如 here 所述

【讨论】:

感谢您的解释——而且您回答得如此之快以至于我都无法接受!

以上是关于打字稿中的Nodejs需要('this')(that)的主要内容,如果未能解决你的问题,请参考以下文章

nodejs和打字稿中的Prisma事务不起作用

在哪里可以找到 AWS-SDK for dynamodb 在 NodeJS 打字稿中的所有异常类?

如何在打字稿中的猫鼬userschema.methods中使用“this”

无法将数组分配给打字稿中的另一个数组

打字稿中的方法返回类型为null

我们可以在打字稿中访问另一个类中的私有变量吗