可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.