TypeScript Ghostscript导入已更改为gs_



好吧,有点奇怪,我有一个在谷歌云环境中运行的云函数,在我的本地机器上用TypeScript编写,它使用了我放在package.json中的Ghostscript引用,如下所示:

"gs": "https://github.com/sina-masnadi/node-gs/tarball/master",

导入到我的函数文件中,如:

import gs from "gs";

我的TypeScript函数如下所示:

await new Promise((res, rej) => {
gs()
.batch()
.nopause()
...follows on from this

然而,当我使用firebase deploy --only functions部署函数时,编译器会将.js文件放在一起并上传(正如您所期望的(。只有在上传的.js函数中,它才会将对Ghostscript导入的引用更改为以下内容:

const gs_1 = require("gs");

然后将功能代码转换为:

yield new Promise((res, rej) => {
gs_1.default()
.batch()
.nopause()
...follows on from this

当这个函数在云中运行时,我会打印出以下错误:

TypeError: gs_1.default is not a function

有人知道它为什么要更改名称吗?它可能是保留名称吗?


更新&FIX
将重影脚本库的导入更改为:

const gs = require("gs")

在@Nicholas Tower 的帮助下解决了这个问题

我正在创建一个Community Wiki答案,以便将来可以参考类似问题的答案。根据Nicholas Tower的评论,这个问题的解决方案是从重构gs库的导入

import gs from "gs";

收件人:

const gs = require("gs")

有关更多信息,有一个文档页面处理Firebase函数依赖关系处理。

相关内容

  • 没有找到相关文章

最新更新