In projects that consist of multiple modules with different webpack configurations, RubyMine can automatically detect the relevant configuration file for each module and use the module resolution rules from it, see Specifying the webpack configuration file to use below.
For webpack version 2 and later, RubyMine provides code completion and quick documentation look-up for options in webpack configuration files.
Before you start
Download and install Node.js.
Configuring webpack in RubyMine
Add webpack to your package.json
Make sure webpack is listed in the
devDependenciesobject of your package.json.
If webpack is missing, open the embedded Terminal (Alt+F12) and type:
npm install --save-dev webpack
Create webpack configuration files
Create one or several configuration files depending on your project structure: select a parent folder in the Project tool window and select from the context menu. Learn more from the webpack official website.
Specify the webpack configuration files to use
In RubyMine, you can choose between two configuration modes - automatic and manual.
With manual configuration, you specify the webpack configuration file to use in your project. Manual configuration is useful if the name of your webpack configuration file is not recognized by RubyMine, see the list of recognized webpack config names below.
Choose how to detect webpack configuration
Open the Settings dialog (Ctrl+Alt+S) and go to .
In the Detect Webpack configuration files for module resolution area, select one of the following options:
As a result, if your project consists of multiple modules with different webpack configurations, each module will use the module resolution rules from its own webpack configuration file (if such config is found).
webpack.config.js / webpack.config.ts
webpack.base.conf.js / webpack.base.conf.ts
webpack.dev.conf.js / webpack.dev.conf.ts
webpack.prod.conf.js / webpack.prod.conf.ts
webpack.base.config.js / webpack.base.config.ts
webpack.dev.config.js / webpack.dev.config.ts
webpack.prod.config.js / webpack.prod.config.ts
webpack.babel.js / webpack.babel.ts
Manually: In the Configuration file field, specify the location of the webpack config to use.
In this mode, the resolution rules from the specified configuration file will be applied to all modules in your project.
Select this option if the name of your webpack configuration file is not recognized by RubyMine, see the list of recognized webpack config names above.
See also Getting Started on the webpack official website.
Editing a webpack configuration file
For webpack version 2 and later, RubyMine provides code completion and documentation look-up in the configuration object of webpack configuration files. Code completion is provided on the fly. To view documentation for a symbol, press Ctrl+Q.
The image below illustrates module resolution in a project where
react-color is an alias for the path './src/index.js'. RubyMine properly resolves the import from
react-color, provides navigation to it and completion for the exported symbols:
Debugging applications that use webpack