I am trying to serve the following http_server.js files on my virtual machine that I have set it up on digitalocean.
Why am I getting this error message?
this is my http_server.js file:
// Import required modules
import express from 'express';
import lowdb from "lowdb";
import adapters from "lowdb/adapters";
import { FileSync } from "lowdb/adapters";
import cors from 'cors';
import { faker } from '@faker-js/faker';
const app = express();
const adapter = new FileSync('db.json');
const db = low(adapter);
// allow cross-origin resource sharing (CORS)
app.use(cors());
// data parser - used to parse post data
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
// serve static files from public directory
app.use(express.static('public'));
// init the data store
db.defaults({ users: [] }).write();
// return all users
app.get('/data', function(req, res) {
res.send(db.get('users').value());
});
// add user
app.post('/add', function(req, res) {
var user = {
name: req.body.name,
dob: req.body.dob,
email: req.body.email,
username: req.body.username,
password: req.body.password,
phone: req.body.phone,
streetaddress: req.body.streetaddress,
citystatezip: req.body.citystatezip,
latitude: req.body.latitude,
longitude: req.body.longitude,
avatar: faker.internet.avatar()
};
db.get('users').push(user).write();
console.log(db.get('users').value());
res.send(db.get('users').value());
});
// start server
app.listen(3001, function() {
console.log('Running on port 3001!');
});
I think I have properly installed all the dependencies needed. I can see the following dependencies listed in my package.json file already:
{
"name": "sample",
"version": "1.0.0",
"description": "vm app",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "saro",
"license": "MIT",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"FileSync": "^1.0.1",
"lowdb": "^6.0.1",
"lowdb-adapter": "^0.1.3",
"node-fetch": "^2.6.1"
}
}