If you don't have the restrictions like some of the shared hosting account, where you are not allowed to install composer or do not have shell access all together then you don't require to upload the vendor
directory as mentioned by @djt above - you can run composer install
on your production server which will populate the vendor directory with all dependencies.
node_nodules
folder can also be safely excluded from the ftp uploads, since mostly it contains dependencies for development purpose only. In case you require any of the node_modules for production then with a similar approach, you can just upload the package.json
file to your production server and then run npm install
to get all the node_modules installed on your production server.
The vendor
and node_modules
directories are the most bulky, excluding them from ftp will ensure that you are uploading only your application/project code. Hope it helps.