¿Cuál es la mejor configuración de desarrollo para Node.js en Mac?

He estado usando una Mac con node.js durante algunos años.

Le recomiendo que use nvm para administrar la versión de su nodo, ya que es probable que necesite probar el desarrollo en diferentes versiones del nodo. Vea creationix / nvm, básicamente lo que hace es permitirle instalar el nodo, junto con los paquetes npm dentro de una carpeta local `~ / .nvm`. A continuación, puede establecer un valor predeterminado del sistema, así como cambiar las versiones de nodo con el comando `nvm use `. Para ver las versiones disponibles para instalar, escriba `nvm ls-remote` y puede instalarlo en un instante con` nvm install `. Tenga en cuenta que cuando cambie las versiones de nodo, su raíz para NPM también cambiará, por lo que deberá instalar los paquetes que faltan en los que confía.

En lo que respecta a los editores, he usado Sublime, Atom, Vi y WebStorm. El depurador de nodos WebStorm me parece excelente (vale la pena los $ 49 / año). Hace que la depuración de sus aplicaciones y pruebas unitarias de node.js sea muy fácil.

Para la depuración del lado del cliente, uso Chrome con sus DevTools.

Lo bueno de una Mac es que está basada en Unix, por lo que su experiencia es bastante similar a la de Linux.

Para probar otras plataformas (es decir, Windows, Linux, etc.) puede descargar VirtualBox e instalar el sistema operativo en una máquina virtual (también de código abierto). Oracle VM VirtualBox Hago esto cuando necesito depurar en Windows o Linux.

Si quiero instalar cualquier otra aplicación de tipo Unix, uso homebrew. Consulte El administrador de paquetes que falta para OS X: es básicamente un administrador de paquetes para MacOS que le permite instalar muchas de las herramientas de línea de comandos de Linux conocidas, así como otras aplicaciones (es decir, servidores de bases de datos, etc.).

Realmente me gusta usar WebStorm: el IDE de JavaScript más inteligente. Es fantástico.

  • Se sincronizará automáticamente y se conectará con la mayoría de las herramientas que usa.
  • En realidad, recogerá e indexará los módulos NPM que usa. (Esto es realmente útil si está utilizando una nueva biblioteca por primera vez).
  • Tiene una de las mejores terminaciones de texto de cualquier IDE que haya usado.
  • Se ha incorporado en gulp, gruñido y soporte git .
  • Tiene un repositorio masivo de complementos y temas que puedes descargar. Junto con esto, su soporte de idiomas se basa en un lenguaje interpretado llamado “lenguaje base”, que le permite diseñar un soporte personalizado para cualquier idioma sobre la marcha.
  • Las herramientas personalizadas son fáciles de configurar y puede vincularlas rápidamente a atajos de teclado .
  • La inyección de lenguaje es realmente agradable. Webstorm puede detectar cuando estás usando otro idioma dentro de un idioma diferente, por ejemplo XML como una cadena dentro de JavaScript, y se completará automáticamente y coloreará correctamente el texto dentro de esa cadena.

Aunque estoy de acuerdo con Quora User acerca de su respuesta con respecto a Webstorm, quiero mostrarle otra parte del mundo de desarrollo de Node.js.

En muchos casos, Node.js tiene que ver con el peso ligero. Es simple de instalar, simple de iniciar una pequeña aplicación y simple de ejecutar sin necesidad de compilación. Por lo tanto, a menudo me encanta usar un editor ligero. Es posible que no obtenga una finalización automática tan buena como con Webstorm, pero con Sublime Text o Visual Studio Code obtendrá un editor que se inicia rápidamente y se puede ampliar con una gran cantidad de complementos para personalizar de la manera que lo desee.

Esto puede ser mejor para proyectos pequeños o aplicaciones menores que actúan en una micro arquitectura, en lugar de una gran aplicación monolítica en la que puede necesitar la finalización automática para tener un mejor control.

Uso Node.js desde hace varios meses, esta es la configuración que usamos:

  1. WebStorm para editor (consulte otras respuestas para saber por qué es genial)
  2. Vagrant + VirtualBox con NFS para servidor local
  3. DnsMasq para tener un DNS para ello
  4. forever + nassau-https-proxy para hacer que el servidor se ejecute y recoger los cambios de código automáticamente

Yo uso NVM, Atom (porque puede ser hackeado con JavaScript) y PM2. Para todo lo demás, por ejemplo, sesiones de Redis, base de datos, proxies, etc., está Docker.

No mucho más en realidad. Sugiero experimentar, encontrar lo que funciona para usted y con el tiempo tendrá su entorno y flujo de trabajo ideales.

PD: Me encanta WebStorm, recuerdo haberlo usado en mis días de PHP (PHPStorm).

Espero que esto sea útil.

More Interesting

¿Qué ciudad tiene mejores perspectivas laborales y ofrece una mejor calidad de vida para los ingenieros de software: San Francisco o Munich, Alemania?

¿Cómo es trabajar como ingeniero de software en Microsoft, Dubai?

¿Por qué Acme / ACME se usa generalmente como nombre de cliente en demostraciones de productos?

¿La programación orientada a objetos ha cumplido sus promesas de reutilización de código superior?

¿Cuáles son los mejores motores 3D para Flash?

¿Cuál es la diferencia entre un archivo de certificado .jks y un archivo .cer? ¿Es posible convertir de uno a otro?

¿Un solo equipo de desarrolladores atrae código que no se puede escalar ni mantener?

¿Existen instituciones financieras que realizan una integración continua o incluso una entrega continua?

¿Qué debe saber un FDE entrante en Palantir Technologies que facilitará la transición al trabajo?

¿Cómo es la vida en las pruebas de software?

¿Cuánto tiempo puede pasar escribiendo un nuevo informe de error?

Desarrollé un motor de base de datos en el trabajo y entiendo bien los conceptos básicos, como los árboles B y la integridad transaccional. ¿Cuál sería un buen libro sobre los temas avanzados, como los tipos de índice poco comunes y las técnicas para indexar el lenguaje natural?

¿Vale la pena usar Ruby on Rails para una startup en 2014? Si no, ¿qué marco / idiomas elegirías?

En Boston, ¿Ruby on Rails se está volviendo menos popular que Django? Si es así, ¿por qué?

¿Cuáles son los beneficios de usar Bamboo en lugar de herramientas de código abierto como Jenkins?