requere

1.0.1 • Public • Published

requere

NPM version Dependency Status Travis CI Coveralls

Better way to load modules in node.

What is requere

requere is a package that avoid ugly path when loading modules in node.

For example:

config.js
lib/
  foo/
    bar/
      foobar.js

If you wanna use config.js in foobar.js, you might write code like this:

const config = require('../../../config.js')

Yes, you have to figure out how many ../ out there.

But with requere:

const config = require('requere')('config.js')

Yes, simple.

glob

requere supports glob.

requere(pattern, onlySupportedExtname)
 
// Example
requere('foo/bar/**/*.js')

Returns an object with loaded modules, module's full path will be the key:

{
  '/path/to/foo.js': exported
}

onlySupportedExtname

If onlySupportedExtname is true, requere will only load modules with supported extname.

You can check supported extnames by require.extensions and requere.extensions.

For example:

foo/
  bar/
    baz.jpg
    foobar.js

requere('foo/bar/*') will throw errors, but requere('foo/bar/*', true) will not throw errors and return foobar.js.

How to Use

Install via npm:

npm install requere
const requere = require('requere')
 
// Loading a npm package
const path = requere('path')
 
// Loading a file module
const foo = requere('./foo')
 
// Loading a file module from package root folder
const bar = requere('foobar/bar')
 
// Loading with glob pattern
const modules = requere('baz/**/*.@(js|json)')
 
// Loading with custom module loader
requere.register('.cson', requere('cson').load.bind(requere('cson')))
requere('config/*.cson')

Require Hook (deprecated)

Requere hook is buggy, so, it's deprecated.

Contributors

Via GitHub

Readme

Keywords

none

Package Sidebar

Install

npm i requere

Weekly Downloads

17

Version

1.0.1

License

MIT

Last publish

Collaborators

  • chrisyipw