导入@google云/存储后,我就出错了。
环境细节
复制的步骤
进口它
const {Storage} = require('@google-cloud/storage');
const storage = new Storage({
keyFilename : path.join(__dirname, './file.json'),
projectId: "xxx-xxx-xxx"
});就在那之后我得到了这个错误
ERROR in ./node_modules/google-auth-library/build/src/auth/googleauth.js Module not found: Error: Can't resolve 'child_process' in '/Users/xxx/xxxx/node_modules/google-auth-library/build/src/auth' ERROR in ./node_modules/@google-cloud/storage/build/src/file.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/@google-cloud/storage/build/src' ERROR in ./node_modules/@google-cloud/storage/build/src/bucket.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/@google-cloud/storage/build/src' ERROR in ./node_modules/configstore/node_modules/make-dir/index.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/configstore/node_modules/make-dir' ERROR in ./node_modules/google-auth-library/build/src/auth/googleauth.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/google-auth-library/build/src/auth' ERROR in ./node_modules/google-p12-pem/build/src/index.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/google-p12-pem/build/src' ERROR in ./node_modules/graceful-fs/graceful-fs.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/graceful-fs' ERROR in ./node_modules/gtoken/build/src/index.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/gtoken/build/src' ERROR in ./node_modules/write-file-atomic/index.js Module not found: Error: Can't resolve 'fs' in '/Users/xxx/xxxx/node_modules/write-file-atomic' ERROR in ./node_modules/http-proxy-agent/dist/agent.js Module not found: Error: Can't resolve 'net' in '/Users/xxx/xxxx/node_modules/http-proxy-agent/dist' ERROR in ./node_modules/https-proxy-agent/dist/agent.js Module not found: Error: Can't resolve 'net' in '/Users/xxx/xxxx/node_modules/https-proxy-agent/dist' ERROR in ./node_modules/http-proxy-agent/dist/agent.js Module not found: Error: Can't resolve 'tls' in '/Users/xxx/xxxx/node_modules/http-proxy-agent/dist' ERROR in ./node_modules/https-proxy-agent/dist/agent.js Module not found: Error: Can't resolve 'tls' in '/Users/xxx/xxxx/node_modules/https-proxy-agent/dist的
我试图重写webpack配置,添加
config.node : {
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty',
__filename: true,
__dirname: true
}这是我找到的唯一解决办法,但我还是会犯错误
TypeError: The "original" argument must be of type Function
at promisify (util.js?3022:602)
at eval (index.js?5051:7)
at Object../node_modules/@google-cloud/storage/node_modules/get-stream/index.js (index.js:275)
at __webpack_require__ (runtime.js:854)
at fn (runtime.js:151)
at Object.eval (file.js?5fe9:20)
at eval (file.js:3042)
at Object../node_modules/@google-cloud/storage/build/src/file.js (index.js:167)
at __webpack_require__ (runtime.js:854)
at fn (runtime.js:151)发布于 2020-12-16 11:41:50
您在客户端代码上使用@google/存储的问题是,这个库应该在仅服务器端上使用。
记住,Nuxt是一个SSR(服务器端呈现),即使它在服务器上呈现,很多代码也会出现在客户端。您可以尝试在服务器端组件(如serverMiddleware属性 )上使用此方法。
要在客户端运行存储,请尝试使用npm火场储存
https://stackoverflow.com/questions/65280808
复制相似问题