I am fairly new to Next js and its deployment process. I have recently converted one of my react js projects to Next js in order to advantage of the server-side rendering feature Next js offers. Now comes the deployment time, I figured out the Next build won't deploy without the node_modules
folder present in the server. I use getServerSideProps
in my pages and build with "build": "next build"
command in package.json. The problem is my node_modules folder is close to 300MB (.next
build adds about another 10MB) and I don't think it is the best practice to accompany this much weight with each deployment (I intend to have different instances of this build deployed, therefore 310MB X number of instances) in the server.
Am I doing something wrong here or is this the only way to accomplish this? I appreciate any answers. Thanks...
After a bit of research, I am answering my own question. If you use getServerSideProps
you cannot static export your project. Therefore the node_modules folder is required to deploy the project on the server. That doesn't mean you have to FTP the node_modules
, you can do the npm build on the server-side which will download node_modules
to the deployment folder. In my case, the deployment folder weighs around 310MB where the node_modules
folder itself is around 300MB.