Jump to content

[Solved] Can't use express in NodeJs app (Tommy)


goochy13

Recommended Posts

I am trying to run a simple node app using express; however, I keep getting "Cannot GET /test" when I try to access the app (goochy13.heliohost.org/test).

I have followed the Node tutorial on the Wiki and managed to get it working using "http" - but as I cannot get the same app to work using express instead of http I can only assume express is the problem.

My simple test app is below.

 

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

const hostname = '127.0.0.1';
const port = 3000;

app.get("/", (req, res) =>{
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('Node.js is on and working.');
});

app.listen(port, hostname, () => {
    console.log("Test app is running.");
});

I have copied across the "node_modules" folder as a .zip - and extracted it from the server side. I have also included package.json and I hit "ensure dependencies" in the application manager.

 

Certainly possible that I've missed a step or misunderstand what is required to get this up and running. Anyone got any ideas?

 

Cheers

 

 

Link to comment
Share on other sites

I tried this out on my Tommy account and I got the same result as you. The problem is express apparently does not like being in a subdirectory. As soon as I created a subdomain for it, it started working perfectly. https://express.krydos.heliohost.org/ You'll need to create a subdomain for it, or put it on the webroot of either your main domain or an alias or an addon domain. Ghost, which is another cranky node.js thing, hates being in a subdirectory as well.

 

Here's my app.js

var express = require('express')
var app = express()
 
app.get('/', function (req, res) {
 res.send('Express is working on HelioHost!');
})
 
var server = app.listen(3000, function () {
 var host = server.address().address
 var port = server.address().port
 
 console.log('Example app listening at http://%s:%s', host, port)
})
Link to comment
Share on other sites

 

I tried this out on my Tommy account and I got the same result as you. The problem is express apparently does not like being in a subdirectory. As soon as I created a subdomain for it, it started working perfectly. https://express.krydos.heliohost.org/ You'll need to create a subdomain for it, or put it on the webroot of either your main domain or an alias or an addon domain. Ghost, which is another cranky node.js thing, hates being in a subdirectory as well.

 

Here's my app.js

var express = require('express')
var app = express()
 
app.get('/', function (req, res) {
 res.send('Express is working on HelioHost!');
})
 
var server = app.listen(3000, function () {
 var host = server.address().address
 var port = server.address().port
 
 console.log('Example app listening at http://%s:%s', host, port)
})

 

Makes sense! Thanks a lot!

Link to comment
Share on other sites

  • 10 months later...

 

I tried this out on my Tommy account and I got the same result as you. The problem is express apparently does not like being in a subdirectory. As soon as I created a subdomain for it, it started working perfectly. https://express.krydos.heliohost.org/ You'll need to create a subdomain for it, or put it on the webroot of either your main domain or an alias or an addon domain. Ghost, which is another cranky node.js thing, hates being in a subdirectory as well.

 

Here's my app.js

var express = require('express')
var app = express()
 
app.get('/', function (req, res) {
 res.send('Express is working on HelioHost!');
})
 
var server = app.listen(3000, function () {
 var host = server.address().address
 var port = server.address().port
 
 console.log('Example app listening at http://%s:%s', host, port)
})

 

I tried to deploy this app under http://alexa.stasauskas.lt/ and succeeded. But it seems that from https://alexa.stasauskas.lt/  (note its HTTPS, not HTTP) it just shows directory listing. Any particular steps I should do for it to be accessible from https under the same subdomain?

 

Update: so apparently after night it works. Not sure why, maybe fixed automagically?

Edited by olstouna
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...