Run/Debug Configuration: Node.js
In this dialog, 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.
Before you start
Download and install Node.js.
Install the Node.js plugin on the Plugins page as described in Managing plugins.
Configuration tab
Item | Description |
---|---|
Node interpreter | In this field, specify the Node.js interpreter to use. This can be a local or remote Node.js interpreter or a Node.js on Windows Subsystem for Linux. Select an interpreter from the list or click and configure a new one in the dialog that opens. |
Node parameters | In this field, type the Node.js-specific command line options to be passed to the NodeJS executable file. The most common options are:
For a full list, see Node.js command line options. |
Working directory | In this field, specify the working directory of the application. By default, the field shows the project root folder. |
JavaScript file | In this field, specify the path to the main file of the application that starts it (for example, bin/www for Node.js Express applications). If you are going to debug CoffeeScript, specify the path to the generated JavaScript file with source maps. The file can be generated externally or through compilation using file watchers. For more details, see Debugging CoffeeScript. |
Application parameters | In this text box, type the Node.js-specific arguments to be passed to the application on start 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 | Click to open the dialog and specify the following settings:
Click to expand the tables. Click , , or to make up the lists. |
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 JavaScript Debug
run configuration, so technically, RubyMine creates separate run configurations for the server-side and the client-side code, but you specify all your settings in one dedicated Node.js run configuration.
Item | Description |
---|---|
Open browser | In the field in this area, specify a project HTML file to create a correct URL to this file according to the project root to be started on the built-in web server. For example, if you choose project_root/inner_folder/index.html the resulting URL will be http://localhost:63342/project_root/inner_folder/index.html. If you select the After Launch checkbox, 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 checkbox to automatically open the browser. From the list, select the browser to use:
|
with JavaScript debugger | Select this checkbox to enable debugging the client-side code in the selected browser. |
V8 Profiling tab
In this tab, enable V8 CPU and memory profiling.
Item | Description |
---|---|
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. |
Logs tab
In this tab, enable showing information produced by a logging tool like morgan in the Console tab of the Run tool window. See Managing logs when running a Node.js app for details.
Common options
When you edit a run configuration (but not a run configuration template), you can specify the following options:
Item | Description |
---|---|
Name | In this field, specify the name for the run/debug configuration. The name will help you identify the created configuration when you choose to edit it later, or when you invoke it, for example, from the Run popup (Shift+Alt+F10). |
Share | Select this checkbox to make the run/debug configuration available to other team members. The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml. |
Allow running in parallel | If this checkbox is selected, it is possible to launch a run configuration multiple times in parallel instead of rerunning it. Each runner will start in its own tab of the Run Tool Window or Debug Tool Window. When disabled, every time a new instance of the run/debug configuration is launched, RubyMine checks the presence of the other instances of the same run/debug configuration, and displays a confirmation dialog. If you click OK in the confirmation dialog, the first instance of the runner will be stopped, and the next one will take its place. This makes sense when launching two instances of run/debug configurations of the same type consumes too much of the CPU and memory resources.. |
Toolbar
The tree view of run/debug configurations has a toolbar that helps you manage configurations available in your project as well as adjust default configurations templates.
Item | Shortcut | Description |
---|---|---|
Alt+Insert | Create a run/debug configuration. | |
Alt+Delete | Delete the selected run/debug configuration. Note that you cannot delete default configurations. | |
| Ctrl+D | Create a copy of the selected run/debug configuration. Note that you create copies of default configurations. |
| Edit Templates | View and edit the default template for the selected run/debug configuration. The templates are used for newly created configurations. |
/ | Alt+Up/Alt+Down | Move the selected run/debug configuration up and down in the list. The order of configurations in the list defines the order, in which the configurations appear when you choose a run/debug configuration. Default templates of run/debug configurations are always sorted alphabetically. |
| Move into new folder / Create new folder | You can group run/debug configurations by placing them into folders. To create a folder, select the configurations within a category, click , and specify the folder name. If only a category is in focus, an empty folder is created. Then, to move a configuration into a folder, between the folders or out of a folder, use drag or and buttons. To remove grouping, select a folder and click . |
| Sort configurations | Click this button to sort configurations in the alphabetical order. |
Before Launch options
In this area you can specify tasks that must be performed before starting the selected run/debug configuration. The tasks are performed in the order they appear in the list.
Item | Shortcut | Description |
---|---|---|
Alt+Insert | Click this icon to add one of the following available tasks:
| |
Alt+Delete | Click this icon to remove the selected task from the list. | |
| Enter | Click this icon to edit the selected task. Make the necessary changes in the dialog that opens. |
/ | Alt+Up/Alt+Down | Click these icons to move the selected task one line up or down in the list. (The tasks are performed in the order that they appear in the list.) |
Show this page | Select this checkbox to show the run/debug configuration settings prior to actually starting the run/debug configuration. | |
Activate tool window | By default this checkbox is selected and the Run or the Debug tool window opens when you start the run/debug configuration. Otherwise, if the checkbox is cleared, the tool window isn't shown. However, when the configuration is running, you can open the corresponding tool window for it yourself by pressing Alt+4 or Alt+5. |