尝试使用 Nodejs 8 加载 GoogleCloud Datastore 模块时出现“无法加载提供的模块”错误

Lio*_*rie 4 javascript node.js typescript google-cloud-datastore google-cloud-platform

作为在 Google Cloud Platform 下使用 Nodejs 8 执行的 Cloud Function 实现的一部分,我必须将信息存储在 GCP Datastore 中。

我使用用 Javascript 编译的 TypeScript。

当我尝试导入模块时出现以下错误"@google-cloud/datastore"

无法加载提供的模块。
您的代码中是否存在语法错误?
详细的堆栈跟踪:TypeError:extend 必须是字符串

我尝试了两种导入模块的方法,每次都会遇到相同的错误:

import {Datastore} from '@google-cloud/datastore';
const datastore = new Datastore();
Run Code Online (Sandbox Code Playgroud)

或者

const datastore = require('@google-cloud/datastore');
Run Code Online (Sandbox Code Playgroud)

我还尝试安装不同版本的模块,但没有任何帮助。

最后,我意识到,即使未安装模块(我执行了命令npm uninstall @google-cloud/datastore),从逻辑上讲,当我们尝试导入未安装的模块时,我也会得到完全相同的错误,应该出现以下错误:

无法加载提供的模块。
您是否在 package.json 依赖项中列出了所有必需的模块?
详细的堆栈跟踪:错误:找不到模块“测试”

有没有人遇到过这个问题或者知道为什么我会收到这个错误?

Sat*_*Rai 10

我在部署功能时遇到了同样的问题,后来我意识到我将包安装在错误的位置。

我的文件夹结构是这样的:

  • /
    • 功能
      • 节点模块
      • 索引.js ...

我错误地将所有软件包安装在 / 级别:

  • /
    • 功能
      • 节点模块
      • 索引.js ...
    • 节点模块

所以我所有的包都在外部node_modules中。