webpack-dev-server Cannot find module 'webpack'

node.jsReactjsWebpackWebpack Dev-Server

node.js Problem Overview


I'm trying to use webpack-dev-server to run a simple program but I'm getting this error:

module.js:471
    throw err;
    ^

Error: Cannot find module 'webpack'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> 
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

I have installed webpack with following npm command

npm install --save-dev webpack

and I have the following configuration:

(webpack.config.js)
var webpack = require('webpack');
var path = require('path');

var BUILD_DIR = path.resolve(__dirname, 'client/public');
var APP_DIR = path.resolve(__dirname, 'client/app');

var config = {
  entery: APP_DIR + '/index.js',
  output: {
    path: BUILD_DIR,
    filename: 'bundle,js',
  },
  module: {
    loaders: [
      {
        test: /.jsx?$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  }
};

module.exports = config;

I have tried everything and I'm really lost. Does anyone have any idea?

node.js Solutions


Solution 1 - node.js

npm install --save-dev webpack is not enough.

You also have to install the following:

npm install --save-dev webpack-dev-server 

And optionally, you can also install:

npm install --save-dev webpack-dev-middleware webpack-hot-middleware

Solution 2 - node.js

I had the same problem, but I resolved by installing additional webpack-cli

npm install --save-dev webpack-cli

Solution 3 - node.js

Try the following:

Firstly, you need to install webpack-dev-server

npm install --save-dev webpack-dev-server

Then in your package.json, use this in your start script:

"start": "webpack serve --config webpack.config.js --open"

Note webpack.config.js should be replaced with the file name of your webpack config file.

Now run npm start

Hope it works!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionyonBavView Question on Stackoverflow
Solution 1 - node.jsAbdennour TOUMIView Answer on Stackoverflow
Solution 2 - node.jsHùng Ng ViView Answer on Stackoverflow
Solution 3 - node.jsAlalade SamuelView Answer on Stackoverflow