webpackwebpack-externals

Externals defined in webpack.config still getting error module not found


I have defined externals in webpack.config for material-ui

module.exports = [{
  entry: ...
  output:...
  externals: {
    react: {
      commonjs: "react",
      commonjs2: "react"
    },
    "material-ui": {
      commonjs: "material-ui",
      commonjs2: "material-ui"
    }
  },
  module: ...
}];

Still its giving error like-

Cannot resolve module 'material-ui/IconButton'......

In my entry js file, I have

import React, {Component} from "react";
import IconButton from "material-ui/IconButton";
.....
.....

Solution

  • Ok I solved it. External expects complete path.

    So either,

    import {IconButton} from "material-ui"
    

    or

    externals: {
      "material-ui/IconButton": {
        commonjs: "material-ui/IconButton",
        ...
      }
    }
    

    will work. Ofcourse, second option is not reasonable here