打字稿中的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)的主要内容,如果未能解决你的问题,请参考以下文章