Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Webpack Error - Cannot Resolve File or Directory

I am getting this error when I npm start my webpack-dev-server:

ERROR in multi main
Module not found: Error: Cannot resolve 'file' or 'directory' /var/www/html/151208-DressingAphrodite/app in /var/www/html/151208-DressingAphrodite
 @ multi main

Here is my webpack.config.js:

var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require ('html-webpack-plugin');

const PATHS = {
  app: path.join (__dirname, 'app'),
  build : path.join (__dirname, 'build')
};

module.exports = {
  entry : [
    'babel-polyfill',
    'webpack-dev-server/client?http://localhost:8080',
    PATHS.app
  ],
  output : {
      publicPath : '/',
      filename : 'dressingaphrodite.js',
      hash : true
  },
  debug : true,
  devServer : {
    contentBase : './app'
  },
  devtool : 'source-map',
  module : {
    loaders : [
      {
        test : /\.jsx?$/,
        include : PATHS.app,
        loader : 'babel-loader',
        query : {
          presets : ["es2015"]
        }
      },
      {
          test: /\.css$/,
          include: PATHS.app,
          loader: 'style!css'
      }
    ]
  },
  plugins : [
    new HtmlWebpackPlugin ({
      title : 'Dressing Aphrodite',
      filename : 'da.html'
    })
  ]
};
like image 252
Kayote Avatar asked Dec 08 '15 15:12

Kayote


2 Answers

ok if any one face this problem, you can solve it in 2 methods:

Method 1:

1- add a file called package.json inside your entry folder (in your case put it inside the folder "{project_dir}/app/package.json")

2- inside this file write any json object for example:

{
  "name": "webpack why you do diss :("
}

Method 2:

Change your entry files to be at least 2 level away from your project home directory, for example: "{project_dir}/src/app"

Explanation: for each entry file webpack will try to find a file called package.json to use it for webpack configuration incase this entry file is a module, when you put your entry file only 1 level away from your project home dir webpack will use your project packge.json as configuration file for your entry file and it will fail because of miss configuration.

like image 136
Fareed Alnamrouti Avatar answered Oct 23 '22 08:10

Fareed Alnamrouti


You should check the browser console. It provides more detailed informations.

In my case:

Uncaught Error: Cannot find module "./src/index"
at webpackMissingModule (webpack:///multi_main?:4)
at eval (webpack:///multi_main?:4)
at Object.<anonymous> (bundle.js:586)
at __webpack_require__ (bundle.js:556)
at bundle.js:579
at bundle.js:582

So here is the error a missing (or misspelled) java script file.

like image 2
Matthias M Avatar answered Oct 23 '22 09:10

Matthias M