IFNode #
Description #
IFNode
is a factory method for creating instances of Application
class.
Incoming argument presented like options for Application
constructor, alias of created application instance or empty (first created by IFNode
invoke) argument.
Definition #
JSDoc syntax #
/**
* @interface IFNode
* @function
*
* @param {string|ApplicationOptions} [options]
* @returns {Application}
*/
TypeScript syntax #
interface IFNode {
(options?: string|ApplicationOptions): Application
}
Arguments #
Name | Type | Description |
---|---|---|
options |
ApplicationOptions |
Creates and returns Application instance by options |
string |
Returns Application instance with alias option from ApplicationOptions or undefined |
|
undefined |
Returns first created Application instance by IFNode invoke or creates and returns new instance |
Returns #
Type | Description |
---|---|
Application |
Application instance |
Example #
Create application with default config #
app.js #
const Assert = require('assert');
const IFNode = require('ifnode');
const app1 = IFNode({
project_folder: __dirname,
alias: 'application'
});
const app2 = IFNode('application');
const app3 = IFNode();
Assert.equal(app1, app2);
Assert.equal(app2, app3);
Create application with custom config #
config/dev.js #
module.exports = {
site: {
local: {
port: 3000
}
}
};
app.js #
const Assert = require('assert');
const IFNode = require('ifnode');
const app = IFNode({
project_folder: __dirname,
alias: 'application',
environment: 'dev'
});
Assert.equal(app.config.environment, 'dev');
Assert.equal(app.config.site.local.origin, 'http://localhost:3000');