Run/Debug Configuration: Node.js
In this dialog box, create configurations for running and debugging Node.js applications locally. "Locally" in the current context means that RubyMine itself starts Node.js installed on your computer, whereupon initiates a running or debugging session.
Getting access to the Run/Debug Configuration: Node.js dialog
- Install and enable the Node.js plugin. The plugin is not bundled with RubyMine, but it can be installed from the JetBrains plugin repository as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.
- Download and install Node.js that contains the Node Package Manager(npm).
|Node interpreter||In this field, specify the Node.js interpreter to use, see Configuring a local Node.js interpreter for details.|
|Node parameters|| In this text box, type the Node.js-specific command line options to be passed to the NodeJS executable file. The most common options are: |
|Working directory||In this field, specify the working directory of the application. By default, the field shows the project root folder.|
|Application parameters||In this text box, type the Node.js-specific arguments to be passed to the application start file through the process.argv array.|
|Environment variables|| In this field, specify the environment variables for the Node.js executable file, if applicable. Click Browse to the right of the field and configure a list of variables in the Environment Variables dialog box, that opens: |
The definitions of variables are displayed in the Environment variables read-only field with semicolons as separators. The acceptable variables are:
|Docker container settings||In this field, type the settings manually, or click next to the field and specify the settings in the Edit Docker Container Settings dialog that opens, or select the Auto configure checkbox to have RubyMine do it automatically.|
|Auto configuration|| Select this checkbox to have RubyMine configure the container settings. In the Automatic configuration mode: |
Even with automatic configuration, you still need to bind the port on which your application is running with the port of the container. Those exposed ports are available on the Docker host’s IP address (by default 192.168.99.100). Such binding is required when you debug the client side of a Node.js Express application. In this case, you need to open the browser from your computer and access the application at the container host through the port specified in the application.
To configure port bindings
Browser / Live Edit tab
In this tab, configure the behaviour of the browser and enable debugging the client-side code of the application. This functionality is provided through a
|Open browser||In the text box in this area, specify the URL address to open the application at. If you select the After Launch check box, the browser will open this page automatically after the application starts. Alternatively you can view the same result by opening the page with this URL address in the browser of your choice manually.|
|After launch|| Select this check box Choose the browser to use from the drop-down list next to the After launch checkbox. |
V8 Profiling tab
|Record CPU profiling info|| Select this checkbox to start logging the CPU profiling data when the application is launched. The controls in the area below become enabled. Specify the following: |
|Allow taking heap snapshots|| Select this checkbox if you are going to run memory profiling. The controls in the area below become enabled. Specify the following: |
|Alt+Insert||Click this button to add a new configuration to the list.|
|Alt+Delete||Click this button to remove the selected configuration from the list.|
|Ctrl+D||Click this button to create a copy of the selected configuration.|
|Edit defaults||Click this button to edit the default configuration templates. The defaults are used for newly created configurations.|
|or||Alt+Up or Alt+Down||Use these buttons to move the selected configuration or folder up and down in the list. |
The order of configurations or folders in the list defines the order in which configurations appear in the Run/Debug drop-down list on the main toolbar.
|Move into new folder / Create new folder||Use this button to create a new folder. |
If one or more run/debug configurations are in focus, the selected run/debug configurations are automatically moved to the newly created folder. If only a category is in focus, an empty folder is created.
Move run/debug configurations to a folder using drag-and-drop, or the buttons.
|Sort configurations||Click this button to sort configurations in alphabetical order.|
|Name||In this text box, specify the name of the current run/debug configuration. This field does not appear for the default run/debug configurations.|
|Defaults||This node in the left-hand pane of the dialog box contains the default run/debug configuration settings. Select the desired configuration to change its default settings in the right-hand pane. The defaults are applied to all newly created run/debug configurations.|
|Share|| Select this check box to make the run/debug configuration available to other team members. |
The shared run/debug configurations are kept in separate xml files under
This check box is not available when editing the run/debug configuration defaults.
|Single instance only||If this check box is selected, this run/debug configuration cannot be launched more than once. |
Every time a new run/debug configuration is launched, RubyMine checks the presence of the other instances of the same run/debug configuration, and displays a confirmation dialog box. If you click OK in the confirmation dialog box, the first instance of the runner will be stopped, and the next one will take its place.
This makes sense when the usage of certain resources can cause conflicts, or when launching two run/debug configurations of the same type consumes too much of the CPU and memory resources.
If this check box is not selected, it is possible to launch as many instances of the runner as required. So doing, each runner will start in its own tab of the Run tool window.
|Before launch||Specify which tasks must be performed before applying the run/debug configuration. The specified tasks are performed in the order they appear in the list. |