JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 24274
  • Score
    100M100P100Q132255F
  • License MIT

Require with an expression.

Package Exports

  • require-context
  • require-context/register

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (require-context) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

require-context v1.1.0

Installation

Using npm:

$ npm i -g npm
$ npm i --save require-context

In Node.js:

// Load globally into all modules.
require('require-context/register')

// Load locally as a function.
var requireContext = require('require-context');

Usage

It allows you to pass in a directory to search, a flag indicating whether subdirectories should be searched too, and a regular expression to match files against.

The syntax is as follows:

require.context(directory, useSubdirectories = false, regExp = /^\.\//)

Examples

require.context("./test", false, /\.test\.js$/);
// a context with files from the test directory that can be required with a request endings with `.test.js`.
require.context("../", true, /\.stories\.js$/);
// a context with all files in the parent folder and descending folders ending with `.stories.js`.

Context API

A context module exports a (require) function that takes one argument: the request.

The exported function has 3 properties: resolve, keys, id.

  • resolve is a function and returns the module id of the parsed request.
  • keys is a function that returns an array of all possible requests that the context module can handle.

This can be useful if you want to require all files in a directory or matching a pattern, Example:

function importAll (r) {
  r.keys().forEach(r);
}

importAll(require.context('../components/', true, /\.js$/));

Why require-context?

  • Take the hassle out of requiring groups of modules
  • Write cross-platform code between webpack and node