How paths are resolved and in which order resolve.root => resolve.moduleDirectories => resolve.fallback How to make simple import works without using relative syntax resolve.root , resolve.alias in webpack.config.js or since webpack 2 concord.modules in package.json How inclusions and exclusions work for loaders A module is processed by a loader when it's matches any item in test and matches any item in include and doesn't match any item in exclude How does a .babelrc file in dependencies work when that dependency is being compiled by babel from another project That's not related to webpack but to babel. Starting from the compiled file the next .babelrc file when going up the hierachy is used. (As far as I remember). What needs to be an absolute paths and what need to be a relative path absolute: context , output.path , strings in module.loaders.test/include/exclude , strings in module.noParse , *resolve.root , *resolve.fallback , resolve.modules , recordsPath , recordsInputPath , recordsOutputPath relative or filename: resolve.moduleDirectories , output.filename , output.xxxFilename , resolve.modules , filename of extract-text-webpack-plugin , filename of SourceMapPlugin , filename of CommonsChunkPlugin url: output.publicPath module request: entry , values in resolve.alias basically: path means absolute, filename means relative