Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    novembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : novembre 2017
    Messages : 52
    Points : 38
    Points
    38

    Par défaut Démarrer npm automatiquement

    Bonjour,

    Tout est dans le titre.

    Je souhaite, à l'aide de pm2, démarrer automatiquement mon application node.

    Pour l'api, cela fonctionne très bien.
    J'ai fais et depuis hier ça fonctionne.

    Hier j'ai également fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pm2 start npm --name "APP" -- start
    et ça a fonctionné mais depuis ce matin ça ne fonctionne plus.

    J'ai donc réessayé ma manip mais ça ne fonctionne plus, j'ai également fais comme indiqué sur plusieurs forum, j'ai aussi créé un .json où j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    {
      "apps": [
        {
          "name": "my-app",
          "script": "npm",
          "args": "start"
        }
      ]
    }
    Mais ça ne fonctionne pas non plus.

    Je lance la commande puis dans le tableau j'ai effectivement my-app : online
    Je fais puis et là j'ai my-app : errored et je ne comprend pas pourquoi ...

  2. #2
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 592
    Points : 14 097
    Points
    14 097

    Par défaut

    Sans le message d'erreur exact impossible de t'aider !
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    novembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : novembre 2017
    Messages : 52
    Points : 38
    Points
    38

    Par défaut

    Bonjour,

    Je lance pm2 start app.js

    pm2 me dit que app est online.

    Je fais ensuite un pm2 list et il me dit qu'il est errored.

    Ci-dessous l'erreur :

    Nom : error.png
Affichages : 15
Taille : 10,5 Ko

  4. #4
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 592
    Points : 14 097
    Points
    14 097

    Par défaut

    Unexpected token sur le keyword import ça veut dire que les modules ES6 ne sont pas compris.

    Quelle version de node utilises-tu ? (exécutes un node -v dans ton terminal).

    Autre point je vois du React dans les imports, or React c'est pour faire du front donc à exécuter dans le navigateur et pas par node. A moins qu'il s'agisse d'une appli Electron ?
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    novembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : novembre 2017
    Messages : 52
    Points : 38
    Points
    38

    Par défaut

    J'utilise la version node v8.11.4

    Donc même si j'utilise react je ne dois pas mettre mes imports dans app.js ?

  6. #6
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 592
    Points : 14 097
    Points
    14 097

    Par défaut

    J'avais oublié ton post désolé.

    La version 8 de node ne comprend pas les modules ES6 nativement, il faut lui passer un flag --experimental-modules lors de l'exécution de ton application node et il faut que les fichiers JavaScript portent l'extension .mjs et non .js. J'ai pas encore vu de projet node sortir de CommonJS pour les modules ES6 (même si je ne connais pas tous les projets évidemment).

    Ceci dit, tu n'as pas répondu sur ce qu'était ton application (Node ? Electron ? Web ?) ...

    Si ton projet utilise React pour faire une application client lourd (desktop) via Electron (tu n'as pas répondu à ça et c'est déterminant) je ne sais pas quel est la pratique pour gérer les modules ES6 dans le contexte Electron. Donc je ne peux pas te répondre.

    Si ton projet utilises React pour faire du web, alors ce n'est pas une application node et tu n'as pas à utiliser pm2. Il te faut utiliser un bundler (Webpack, Parcel, etc ...) pour transformer ton code source en une version exécutable par un navigateur.

    Si tu pouvais déjà trancher la nature de ton projet ça permettrait de te dire quel chemin prendre.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    novembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : novembre 2017
    Messages : 52
    Points : 38
    Points
    38

    Par défaut

    Bonjour,

    Pas de souci merci pour ta réponse.

    Mon application est une application WEB, j'utilise node et react. Elle est déployée sur un poste me servant de serveur.
    L'application est un "agenda" partagé avec une dizaine d'autre personnes.

    D'après tes remarques, mon application n'est pas une application node
    Si ton projet utilises React pour faire du web, alors ce n'est pas une application node et tu n'as pas à utiliser pm2. Il te faut utiliser un bundler (Webpack, Parcel, etc ...) pour transformer ton code source en une version exécutable par un navigateur.
    Il est conseillé d'utiliser un bundler ou c'est impératif ?

    Car ce qui m'arrangeait avec pm2 est qu'en cas de crash, l'application redémarrait automatiquement

  8. #8
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 592
    Points : 14 097
    Points
    14 097

    Par défaut

    Une application front est exécutée sur le client (le navigateur).

    En fait tu as 2 applications, le front en React et le backend en node.

    Il faut absolument les gérer séparément.

    Oui un bundler est nécessaire pour gérer les choses proprement.

    L'usage de pm2 pour gérer ton backend est une bonne idée mais là comme tout est mélangé il essaie aussi de traiter l'application front alors que ça ne devrait pas. Il te faut split ton dépôt actuel en deux pour avoir des applications bien séparées, tout deviendra beaucoup plus simple ensuite.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/03/2008, 22h22
  2. Faisabilité : démarrer automatiquement une application qui tournerait sous wine ?
    Par alineas dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 26/09/2007, 14h47
  3. Réponses: 0
    Dernier message: 24/07/2007, 15h19
  4. Traducteur automatique, besoin de conseils pour démarrer
    Par Kyti dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 01/02/2007, 16h09
  5. Démarrer automatiquement une session avec pass
    Par cyberman.inc dans le forum Windows XP
    Réponses: 3
    Dernier message: 07/08/2005, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo