How to load all files in a directory using webpack without require statements

ChickenFur picture ChickenFur · Apr 2, 2015 · Viewed 79.7k times · Source

I have a large amount of javascript files split into 4 subdirectory in my app. In grunt I grab all of them and compile them into one file. These files do not have a module.exports function.

I want to use webpack and split it into 4 parts. I don't want to manually go in and require all my files.

I would like to create a plugin that on compilation walks the directory trees, then grabs all the .js file names and paths, then requires all files in the sub directories and adds it to the output.

I want all the files in each directories compiled into a module that I could then require from my entry point file, or include in the assets that http://webpack.github.io/docs/plugins.html mentions.

When adding a new file I just want to drop it in the correct directory and know it will be included.

Is there a way to do this with webpack or a plugin that someone has written to do this?

Answer

splintor picture splintor · Jun 4, 2015

This is what I did to achieve this:

function requireAll(r) { r.keys().forEach(r); }
requireAll(require.context('./modules/', true, /\.js$/));