0.4.2 • Published 9 years ago
zquire v0.4.2
zquire
Description
Node module for modules requirement.
Automatically tries to install the missing modules. Returns the modules under a callback or a promise.
Installation
Running
npm install --save zquire
API Documentation
Basic usage
Example with Express
If 'express'
is already installed, it will require and return it. If it is not installed, it will install it and return it in the callback.
var zquire = require('zquire');
zquire('express', function(err, express) {
if (err) {
throw err;
} else {
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
}
});
From Express Hello World example
Deduced modules
If you only give a callback to zquire
, it will deduce the modules you require with the arguments of your callback by parsing your callback arguments
var zquire = require('zquire');
zquire(function(err, express, path, fs, npm) {
if (err) {
throw err;
} else {
// Use expres, path, fs & npm here
}
});
Promise Polyfill
zquire
includes es6-promise polyfill to allow the use of es6 promise.
var zquire = require('zquire');
zquire('express')
.then(function(express) {
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var port = server.address().port;
console.log('Example app listening at http://localhost:%s', port);
});
})
.catch(function(err) {
throw err;
});
Command-line config params
You can add npm CLI config params to zquire
. For example to save the module you require in your package.json
file if it needs to be installed.
More info about npm config params
var conf = {
save: true
};
//Callback's style
zquire('async', conf, function(err, async) {
if (!err) {
//use async here
}
});
//Promise's style
zquire('async', conf)
.then(function(async) {
//use async here
});
Run Tests
npm test