【问题标题】:Google Cloud Storage require is not defined未定义 Google Cloud Storage 要求
【发布时间】:2020-05-02 02:15:27
【问题描述】:

我正在编写一个 React Web 应用程序并希望将用户的文件保存到 GCP。 首先,我在后端服务器(快递)上获取文件,检查大小和 MIME 类型,然后我想将这些文件保存到 GCP。 我阅读了文档并在我的代码中做了同样的事情。 但我有一个错误'ReferenceError:require is not defined' 有人遇到过这个问题吗?

node -v 13.13.0
npm  -v 6.14.4
express -v 4.17.1

错误信息:

[nodemon] starting `node --experimental-modules --es-module-specifier-resolution=node server.js`
node     | (node:84) ExperimentalWarning: The ESM module loader is experimental.
node     | file:///usr/src/meow/routes/master.js:11
node     | const { Storage } = require('@google-cloud/storage');
node     |                     ^
node     |
node     | ReferenceError: require is not defined
node     |     at file:///usr/src/meow/routes/master.js:11:21
node     |     at ModuleJob.run (internal/modules/esm/module_job.js:110:37)
node     |     at async Loader.import (internal/modules/esm/loader.js:179:24)
node     | [nodemon] app crashed - waiting for file changes before starting...

我的代码

const { Storage } = require('@google-cloud/storage');
const storage = new Storage(
    { keyFilename: "../config/GCP_key.json" }
);

【问题讨论】:

    标签: node.js express google-cloud-platform google-cloud-storage


    【解决方案1】:

    我发现了问题! 问题是使用 ECMAScript 模块。 我重构代码: 更改所有 'import XXX from "XXX" on const XXX = require(XXX) 删除 package.json 中的 type:"module" 删除 nodemon statup 命令中的“--experimental-modules”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 2018-10-17
      • 2020-06-03
      • 1970-01-01
      • 2018-07-13
      • 2019-12-04
      • 2017-12-18
      相关资源
      最近更新 更多