ES6 import with glob patterns (preloader for Webpack)
Expands globbing patterns for ES6 import
statements.
// Forked of https://github.com/terpiljenya/import-glob
import modules from "./foo/**/*.js";
Expands into
import * as module0 from "./foo/1.js";
import * as module1 from "./foo/bar/2.js";
import * as module2 from "./foo/bar/3.js";
modules = [module0, module1, module2]
For side effects:
import "./foo/**/*.scss";
Expands into
import "./foo/1.scss";
import "./foo/bar/2.scss";
For sass:
@import "./foo/**/*.scss";
Expands into
@import "./foo/1.scss";
@import "./foo/bar/2.scss";
yarn add webpack-import-glob -D
You can use it one of two ways, the recommended way is to use it as a preloader
{
module: {
preloaders: [{
test: /\.js/,
loader: 'webpack-import-glob'
},
{
test: /\.scss/,
loader: 'webpack-import-glob'
}
]
}
}
// or
{
test: /\.js$/,
enforce: 'pre',
loader: 'webpack-import-glob',
}
Alternatively you can use it as a chained loader
require('!webpack-import-glob!foo/bar.js')