Webpack Phpstorm



Jan 05, 2018 PHPStorm can interpret standart Webpack config file but not the Encore webpack.config.js: Can't analyse webpack.config.js: coding assistance will ignore module resolution rules in this file. Possible reasons: this file is not a valid webpack configuration file or its format is not currently supported by the IDE. Nodemodules / @vue / cli-service / webpack. Under File Settings. Languages & Frameworks JavaScript Webpack. Does not work for me. The only way to get aliases to work is creating a webpack.config.js file that has the alias defined in it or marking the src directory as resource root. Webpack sass phpstorm alias. Improve this question. Follow asked Aug 14 '19 at 22:07. General666 general666. 779 12 12 silver badges 24 24 bronze badges. Webpack dev server. Webpack also provides a built-in development server called webpack dev server that can be used as an HTTP server for serving files while developing. It also provides the capability to use hot module replacement. Webpack is a module bundler. It allows you to build your modular application similarly to the way it is done with a combination of tools like Browserify and Gulp or Grunt. In this blog post we actually won’t dive into how to get started with Webpack, as lots of great tutorials are available in the Webpack documentation.

WebStorm integrates with the webpack module bundler. This support improves coding assistance in JavaScript files by taking into account webpack module resolution and resolve aliases.

In projects that consist of multiple modules with different webpack configurations, WebStorm 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, WebStorm provides code completion and quick documentation look-up for options in webpack configuration files.

Phpstorm

Before you start, make sure you have Node.js on your computer.

Configuring webpack in WebStorm

Webpack

Add webpack to your package.json

  • Make sure webpack is listed in the dependencies or devDependencies object of your package.json.

    If webpack is missing, open the embedded Terminal (Alt+F12) and type:

    npm install --save-dev webpack

Webpack plugin phpstorm

Create webpack configuration files

  • Create one or several configuration files depending on your project structure (New | JavaScript file ). Learn more from the webpack official website.

Specify the webpack configuration files to use

Based on the analysis of a webpack configuration file, WebStorm understands the webpack configuration, resolves modules, and provides coding assistance in JavaScript files, see Resolving modules below.

In WebStorm, you can choose between two configuration modes - automatic and manual.

With automatic configuration, WebStorm auto-detects the relevant webpack configuration file for each JavaScript file.

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 WebStorm, see the list of recognized webpack config names below.

Choose how to detect webpack configuration

  1. Open the Settings/Preferences dialog Ctrl+Alt+S and go to Languages and Frameworks | JavaScript | Webpack.

  2. Select one of the following options:

    • Automatic Webpack configuration: In this mode, for a JavaScript file, WebStorm will first look for a webpack configuration file in the folder where this JavaScript file is located, then in its parent folder, and so on.

      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).

      WebStorm recognizes JavaScript or TypeScript webpack configuration files with the following names and in the following order:

      • 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

    • Manual Webpack configuration: 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 WebStorm, 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, WebStorm 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.

WebStorm provides coding assistance in a webpack configuration file only if its name contains the webpack character string and webpack is listed in package.json.

Project security

When you open a webpack project, WebStorm executes the webpack configuration file, which may potentially contain some untrusted code. To avoid problems, when you open a project for the first time WebStorm displays a warning and lets you decide on how to proceed.

If you click Skip, WebStorm disables webpack in the current project. To re-enable it, open the Settings/Preferences dialog Ctrl+Alt+S, go to Languages and Frameworks | JavaScript | Webpack, and select automatic or manual detection for webpack configuration, see Specify the webpack configuration files to use above.

  • The notification is shown once for the whole project and applies to all webpack configurations in it.

  • Projects created from the WebStorm New Project wizard are automatically considered trusted.

Trusted locations

You can configure what sources WebStorm should consider safe.

  1. In the Settings/Preferences dialog Ctrl+Alt+S, go to Build, Execution, Deployment | Trusted Locations.

  2. On the Trusted Locations page, create a list of local directories where the projects you consider trusted reside. Click OK to save the changes.

    WebStorm loads projects from those locations without showing any security notifications.

Resolving modules

When you open a project or edit a webpack configuration file (either auto-detected or specified on Settings/Preferences | Languages and Frameworks | JavaScript | Webpack ), WebStorm analyses the configuration in the background and, based on the received information, properly understands the project resolve roots and resolve aliases. Thanks to this understanding of the project configuration, WebStorm provides more precise code completion for imports and exported symbols in JavaScript files. As a result, everything works fine without any steps from your side.

The image below illustrates module resolution in a project where react-color is an alias for the path './src/index.js'. WebStorm properly resolves the import from react-color, provides navigation to it and completion for the exported symbols:

Debugging applications that use webpack

Webpack Phpstorm Xdebug

You can debug applications that use webpack same way as you debug any JavaScript client-side application, see Debugging React apps created with Create React App and Debugging Angular apps created with Angular CLI.

All in one smart search with typeahead standalone

Webpack Phpstorm 2019

Building a smart search that’s fast, autocompletes your queries and displays suggestions is something that everyone would love on their website. Today you will be introduced to a sleek, lightweight and most importantly, a standalone autocomplete library – typeahead-standalone.js. Why typeahead standalone ? Before answering that, know that typeahead-standalone is heavily inspired from the famous twitter typeahead library. Although it is a fantastic library, it […]