AppCode 2016.2 Help

Running and Debugging Node.js

On this page:

Before you start

Install and enable the NodeJS plugin. The plugin is not bundled with AppCode, but it can be installed from the JetBrains plugin repository as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.

Local and remote modes of running or debugging Node.js applications

Running a Node.js application in AppCode is supported only in the local mode. This means that AppCode itself starts the Node.js engine and the target application according to a run configuration and gets full control over the session.

Debugging can be performed in two modes:

  • Locally, with the Node.js engine started from AppCode.
  • Remotely, when AppCode connects to an already running Node.js application. This approach gives you the possibility to re-start a debugging session without re-starting the Node.js server.
In either case, the debugging session is initiated through a debug configuration

You can also configure the behaviour of the browser and enable debugging the client-side code of the application. This functionality is provided through a JavaScript Debug run configuration, so technically, AppCode creates separate run configurations for the server-side and the client-side code, but you specify all your settings in one dedicated NodeJS run configuration.

Running a Node.js application

  1. Create a Node.js run configuration.
  2. To launch the application, select the run configuration from the list on the main tool bar and then choose Run | Run <configuration name> on the main menu or click the Run toolbar button run.png. The Run tool window opens.
  3. Open the browser of your choice and open the page with the URL address generated through the server.listen function based on the port and host parameters. The page shows the result of executing your Node.js application.

Debugging a Node.js application locally

  1. Set the breakpoints in the Node.js code, where necessary. At least one breakpoint is necessary otherwise the program will be just executed. If you want the debugging tool to stop at the first line of your code, set a breakpoint at the first line.
  2. Create a Node.js run/debug configuration.
  3. To start a debugging session, select the required debug configuration from the list on the main tool bar and then choose Run | Debug <configuration name> on the main menu or click the Debug toolbar button debug.png.
  4. Open the browser of your choice and open the starting page of your application. Control over the debugging session returns to AppCode.
  5. Switch to AppCode, where the controls of the Debug tool window are now enabled. Proceed with the debugging session step through the breakpoints, switch between frames, change values on-the-fly, examine a suspended program, evaluate expressions, and set watches.

Node.js multiprocess debugging

AppCode supports debugging additional Node.js processes that are launched by the child_process.fork() method or by the cluster module. Such processes are shown as threads in the Frame pane on the Debugger tab of the Debug Tool Window.

  1. Set the breakpoints in the processes to debug.
  2. Create a Node.js run/debug configuration.
  3. Choose the newly created configuration in the Select run/debug configuration drop-down list on the tool bar and click the Debug toolbar button debug.

    The Debug tool window opens and the Frames drop-down list shows the additional processes as threads as soon as they are launched:

    ws_node_multiprocess.png

    To examine the data (variables, watches, etc.) for a process, select its thread in the list and view its data in the Variables and Debug Tool Window. Watches panes. When you select another process, the contents of the panes are updated accordingly.

See Also

Last modified: 5 December 2016