2016-05-25 2 views
0

Je suis nouveau sur node.js et heroku. En suivant docs et quelques tutoriels j'ai déployé avec succès mon application sur heroku.comment exécuter/exécuter l'application déployée sur heroku

Le problème auquel je fais face est que je ne sais pas comment exécuter cette application déployée sur heroku. Après avoir lu un certain nombre de tutoriels, ce n'est toujours pas clair pour moi.

Quand je lance les commandes

$ git add . 
$ git commit -am "make it better" 
$ git push heroku master 

de la ligne de commande locale, il exécute les scripts. Mais lorsque je clique sur l'application ouverte du compte heroku, elle n'exécute pas tous les fichiers.

Je courais 1 dynos web et Heroku montre que mon dyno Web exécute commande suivante

web node build/server.js 

Le fichier server.js contient le code suivant

require('./routes/main.routes.js'); 

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end("this is a test page"); 
}).listen(process.env.PORT); 

lorsque je clique sur l'application ouverte de Heroku, il ouvre l'application dans le navigateur avec le message
this is a test page

exécutez le fichier main.routes.js.
Mais quand je clique sur le redémarrage de tous les Dynos, le fichier main.routes.js est également exécuté. Je souhaite que l'application exécute le fichier main.routes.js lorsque je clique sur Ouvrir mon application ou que je l'actualise dans la fenêtre du navigateur.

Le redémarrage est-il la seule façon pour Dynos d'exécuter le script? ou j'ai fait quelque chose de mal?

Toute aide sera grandement appréciée.

+0

Avez-vous essayé 'heroku run' dans l'invite de commande? –

+0

@DananjayaKuppu oui mais il dit, courir n'est pas une commande heroku valide – Atif

+0

Essayez 'heroku apps: info' il devrait afficher l'url web pour votre application .. que url web que vous devez utiliser dans le navigateur .... –

Répondre

1

Vous pouvez essayer de remplacer le commentaire (// écrire le code ici) et essayer de demander l'url:

var http = require('http'); 
http.createServer(function (req, res) { 
    // write the code here if it needs to execute every time 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end("this is a test page"); 
}).listen(process.env.PORT); 
+0

Vous avez raison homme. Maintenant, ça marche, mais il y a un problème. Le code que j'ai placé ici insère deux enregistrements dans la base de données. lorsque je l'exécute dans Firefox, il insère deux enregistrements exacts, mais lorsque j'exécute cette application en chrome, il insère quatre enregistrements. Pouvez-vous aider avec ça? – Atif

+0

pourriez-vous s'il vous plaît placer le code que vous avez remplacé avec le commentaire, cela m'aiderait .... –