webpack-import-glob-loader
raw JSON → 1.6.3 verified Sat Apr 25 auth: no javascript
Webpack preloader that expands glob patterns in ES6 import statements (e.g., `import './foo/**/*.js'`) into individual named imports before bundled. Current version 1.6.3, maintained with occasional updates. It works as a Webpack loader, transforming source code at build time. Differentiates from alternatives like `bulk-import` by focusing on Webpack loader integration and supporting side-effect imports (e.g., `import './**/*.scss'`) and Sass `@import` globs. Use it as a preloader or chained loader.
Common errors
error Error: Couldn't find loader 'webpack-import-glob-loader' ↓
cause Loader not installed or incorrectly specified in webpack config.
fix
Run
npm install webpack-import-glob-loader --save-dev and check the rule's use value. error Module parse failed: Unexpected token (1:0) You may need an appropriate loader ↓
cause Loader not applied before Babel or other transpilers due to rule order.
fix
Place webpack-import-glob-loader earlier in the rules array or use
enforce: 'pre'. error Critical dependency: require function is used in a way in which dependencies cannot be statically extracted ↓
cause Using glob import inside a function or callback instead of top-level import.
fix
Move import statements to top level; glob expansions require static analysis.
Warnings
gotcha Loader expands imports before other loaders; order matters in rule chains ↓
fix Ensure this loader runs first (as preloader) or before transpilers like Babel.
gotcha Glob patterns only work for static imports, not dynamic import() ↓
fix Use only with static import statements; dynamic imports will not be transformed.
deprecated Webpack 4 compatibility; may need peer dep adjustments ↓
fix Update to latest version; if using Webpack 5, ensure loader-utils version is compatible (v2+).
Install
npm install webpack-import-glob-loader yarn add webpack-import-glob-loader pnpm add webpack-import-glob-loader Imports
- Loader (no direct export) wrong
import globLoader from 'webpack-import-glob-loader'correctConfigure in webpack config: use: 'webpack-import-glob-loader'
Quickstart
// webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
use: 'webpack-import-glob-loader'
}
]
}
};
// In your source code:
import modules from "./foo/**/*.js";
// Expands to:
// import * as module0 from "./foo/1.js";
// var modules = [module0, ...]