Требование Google Cloud Storage не определено - PullRequest
2 голосов
/ 01 мая 2020

Я пишу веб-приложение React и хочу сохранить файлы пользователей в GCP. Прежде всего, я получаю файлы на своем внутреннем сервере (express), я проверяю размер и тип MIME, затем я хочу сохранить эти файлы в GCP. Я читаю документы и делаю то же самое в своем коде. Но у меня есть ошибка 'ReferenceError: require is notfined' У кого-нибудь был опыт с этой проблемой?

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" }
);

1 Ответ

1 голос
/ 01 мая 2020

Я нашел проблему! В выпуске использовались модули ECMAScript. Рефакторинг кода: Изменить все 'импорт XXX из "XXX" на const XXX = требуется (XXX). Удалить тип: "module" из пакета. json Удалить "--experimental-modules" в команде statmon nodemon

...