ES6 import with glob patterns (preloader for Webpack)
Expands globbing patterns for ES6 import statements.
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 = { 'foo/1.js': module0, 'foo/bar/2.js': module1, 'foo/bar/3.js': 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";npm install import-glob --save-devYou can use it one of two ways, the recommended way is to use it as a preloader
{
module: {
rules: [
{
test: /\.js/,
use: [{ loader: 'import-glob' }],
},
],
},
}Alternatively you can use it as a chained loader
require('!import-glob!foo/bar.js')