#Connecting AWS S3 to Nuxt 3

3 messages · Page 1 of 1 (latest)

rocky sable
#

So i'm trying to use S3 to upload some profiles images and then be able to call them by a URL, and for this i wanted to create a Nuxt plugin to add all the related functions to it

but for now i'm trying to keep it simple

//plugins/s3.js

import S3 from 'aws-sdk/clients/s3'

export default defineNuxtPlugin(nuxtApp => {
  return {
    provide: { S3 },
  };
});

by doing this i'm getting issues with vite that are saying that global is not define, so i found that i could add some vite config inside my nuxt.config.ts and i did it

//nuxt.config.ts

vite: {
  define: {
   'global': {}
  }
},

but by doing that i'm having some conflict at /node_modules/nuxt/dist/pages/runtime/router.mjs:65:4

so there is a solution by adding "window" but if i added i'm getting another error on production saying " TypeError: t is not a constructor" and that's all 🙂

what would be the best approach to fix this issue? i just want to be able to upload files and call them

#

Connecting AWS S3 to Nuxt 3

mossy kindle
#

you probably execute the plugin on client side. try to execute it on the server side.

if that does not make any sense, you shouldnt need to define additional "global" and "window" on your configuration.

later on, you would need to create a server route (on the server directory) to proxy the file uploading to your S3 bucket