Webpack Error - Cannot Resolve File or Directory

匿名 (未验证) 提交于 2019-12-03 02:24:01

问题:

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'     })   ] }; 

回答1:

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.



回答2:

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.



回答3:

The same problem I met. I found an answer in github Error : ERROR in Entry module not found: Error: Cannot resolve 'file' or 'directory'#981. But sadly, in webpack 1.15.12, the --allow-incompatible-update has been remove. Also, I found when set the entry type is array, such as entry: [entry.js], webpack will run, but throw another error:(

I wish it can help you, hopefully.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!