Question

Comment puis-je le configurer pour pouvoir utiliser Light Table sur Mac, connecté à un nREPL hébergé par Ubuntu et créer un nouveau programme/projet.clj ?Quelqu'un peut-il m'aider à comprendre quelle devrait être mon approche et où je me trompe ?

J'ai un serveur Ubuntu, dans VirtualBox, avec Leiningen, Pedestal et un exemple de programme 'helloworld' sur piédestal, qui s'affiche dans un navigateur.Je ne parviens tout simplement pas à me connecter au même REPL qui exécute le programme helloworld.Je n'ai pas d'accès côté client ni de contrôle sur l'objet côté serveur.

Je souhaite effectuer du développement Clojure client-serveur à partir de mon hôte Mac LT, en créant des programmes côté serveur, que je peux visualiser dans un REPL.

Je ne trouve pas LT intuitif dans ce domaine, et les conseils que j'ai lus suggèrent seulement que LT se connectera à un projet/REPL existant.Je souhaite créer de nouveaux objets, à partir du client

Était-ce utile?

La solution

En supposant que vous parlez principalement du côté serveur (je ne sais pas encore grand-chose sur ClojureScript), voici comment configurer un nouveau projet et coder de manière interactive avec une réplique distante.

  1. lein new project-name dans votre VM.
  2. Configurez votre project.clj comme vous le souhaitez. Vous devez inclure les dépendances !
  3. Démarrez le REPL sur votre VM et notez le numéro de port
  4. Validez votre code dans le contrôle de version (git).
  5. Récupérez la même base de code pour l'éditer dans LightTable sous Mac OSX.
  6. Connectez-vous au REPL distant.
  7. Ouvrez core.clj ou créez un nouveau fichier d'espace de noms et commencez à pirater.
  8. Évaluez vos extraits de code ou l’intégralité du fichier.

Je prévois quelques problèmes potentiels avec cela.La première est que chaque fois que vous ajoutez une dépendance, vous devrez valider la modification dans le contrôle de version, synchroniser la copie de travail de votre VM, redémarrer votre REPL et reconnecter LightTable au REPL distant.

Deuxièmement, vous pourriez rencontrer des problèmes à mesure que le projet s'étend au-delà de quelques espaces de noms.Je crois que si votre espace de noms nécessite un autre espace de noms de votre projet, le processus REPL distant essaiera (je pense) de le charger à partir de son chemin de classe local.Si la dépendance n'existe pas ou a changé, je ne pense pas que LightTable soit suffisamment intelligent pour envoyer les espaces de noms requis via le réseau.Essayez-le et dites-nous quel est le comportement réel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top