Javascript

Complete guide to host JavaScript applications on Discloud.

📁 Preparing the Files

Before uploading your project, you must exclude unnecessary files to optimize the deployment.

Files to Exclude

Ensure the following files and directories are not included in your .zip:

- package-lock.json
- node_modules/
- .cache/
- .git/

📌 Use a .discloudignore file to automatically exclude these files.

🔗 Need help setting up your package.json or find main file?

📦 About the dist folder (TYPE=site only)

For apps with TYPE=site, the dist/ folder is reserved for BUILD output. If you set BUILD=... in your discloud.config, we generate the dist/ folder for you. Do not compress dist/ or upload files into it.

⚙️ Automatic build

  1. Add BUILD in discloud.config (e.g., BUILD=npm run build).

  2. Your build script outputs files to dist/ (Vite, Vue, etc. already do this).

  3. We run BUILD before START and serve the dist/ folder.

Example:

TYPE=site
MAIN=server/index.js
BUILD=npm run build
START=npm run start
RAM=512
VERSION=latest
ID=mysite

👜 Pre-built

  1. Produce output in build/ (do not use dist/).

  2. Omit BUILD from discloud.config.

  3. Point MAIN to the build/ folder.

Example:

TYPE=site
MAIN=build/server.js
RAM=512
VERSION=latest
ID=mysite

🌐 Hosting Websites & APIs with Express

Before deploying your website or API on Discloud, ensure that you meet the following requirements:

⚙️ Configuring Express

const express = require("express");
const app = express();

app.get("/", (req, res) => {
    res.send("Hello, Discloud!");
});

const PORT = process.env.PORT || 8080;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

✍️ Deploying Your Application

Once your project is configured and compressed, you can choose one of the following deployment methods on Discloud:

Last updated