Node.js 未定义Google云存储需求
我正在编写React web应用程序,希望将用户的文件保存到GCP。 首先,我在后端服务器(express)上获取文件,检查大小和MIME类型,然后将这些文件保存到GCP。 我阅读文档并在代码中进行同样的操作。 但我有一个错误“ReferenceError:require未定义” 有人遇到过这个问题吗Node.js 未定义Google云存储需求,node.js,express,google-cloud-platform,google-cloud-storage,Node.js,Express,Google Cloud Platform,Google Cloud Storage,我正在编写React web应用程序,希望将用户的文件保存到GCP。 首先,我在后端服务器(express)上获取文件,检查大小和MIME类型,然后将这些文件保存到GCP。 我阅读文档并在代码中进行同样的操作。 但我有一个错误“ReferenceError:require未定义” 有人遇到过这个问题吗 node -v 13.13.0 npm -v 6.14.4 express -v 4.17.1 错误消息: [nodemon] starting `node --experimental-mo
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" }
);
我发现了问题!
问题是使用了ECMAScript模块。
我重构代码:
将const XXX=require(XXX)上的所有“导入XXX”从“XXX”更改为“导入XXX”
删除package.json中的类型:“module”
删除nodemon statup命令中的“--实验模块”