在 PC 中使用 new 关键字而不在另一个中使用 new 时 typescript nodejs 出错

Posted

技术标签:

【中文标题】在 PC 中使用 new 关键字而不在另一个中使用 new 时 typescript nodejs 出错【英文标题】:Error with typescript nodejs when using new keyword in a pc and not using new in another 【发布时间】:2019-03-28 03:20:00 【问题描述】:

我正在使用带有 typescript 的 Firebase 函数,并且我正在尝试使用这一行来实例化谷歌云存储:

const gCS = gcs( keyFilename: 'service-account.json' )

gcs 是import * as gcs from '@google-cloud/storage'。它对我来说很好,但是我的同事在尝试部署时遇到了这个错误:

错误 TS2348:“typeof Storage”类型的值不可调用。你是否 是指包含“新”吗?

如果他将上面的行改为:

const gCS = new gcs( keyFilename: 'service-account.json' )

错误对他来说消失了,但是我是那个有错误的人:

错误 TS2350:只能使用 'new' 调用 void 函数 关键字。

如果我们有同一个项目,我们需要使用不同的代码怎么办?

【问题讨论】:

你检查过你们两个库的版本相同吗? 另外,请确保您的 @types npm 包为 @google-cloud/storage 在你们两个之间同步 【参考方案1】:

检查你们俩的@type 定义,也许有人忘记保存@types,并检查依赖版本。

【讨论】:

以上是关于在 PC 中使用 new 关键字而不在另一个中使用 new 时 typescript nodejs 出错的主要内容,如果未能解决你的问题,请参考以下文章

java中new关键字和newInstance()方法的区别

是否可以从另一个网站将产品添加到 Magento 购物车,而产品不在 magento 商店中

SQL查询 —— 存在一个表而不在另一个表中的数据

如何在Angular中将变量从组件检索到另一个? (不在 Html 页面中,而是在组件中)

如何在视图控制器之间传递数据而不在 ios 中使用 segue?

有没有办法将参数从一个页面发送到另一个页面而不在 url 中发送它们?