Базовый функционал

include/require

Порядок поиска файлов при подключении

Описание

Поиск внутренних модулей nodejs

LOAD_AS_FILE(X) - Модуль как файл

LOAD_AS_DIRECTORY(X) - Модуль как директория (обязательно должен содержать index.js или index.json)

package.json - модуль пакетов в npm

index.son

index.js

LOAD_NODE_MODULES(X, START)

LOAD_AS_FILE(DIR/X)

LOAD_AS_DIRECTORY(DIR/X)

NODE_MODULES_PATHS(START)

node_models - поднимается вверх по путям (первая найденная директория для модуля будет решением)

NODE_PATH

Пример

var user = require('./user');

modules

Базовые

Util

Error

Вызов модуля

Без передачи параметров

var user = require('user');

С передачей параметров

app.js

var logger = require('logger')(module); logger('Запуск приложения');

./logger/index.js

module.exports = function(module){ return function(/* */){ var args = [module.filename].concat([].slice.call(arguments)); console.log.apply(console, args); } }

Служебные поля

id

exports

parent - родитель

export

Экспортирование модуля

app.js

var user = require('./user'); var vasya = new user.User('Вася'); vasya.hello(vasya); // ... // Привет, Вася

user.js

function User(name){ this.name = name; } User.prototype.hello = function(who){ console.log('Привет, ' + who.name); } exports.User = User;

Экспортирования метода модуля

app.js

var User = require('./user'); var vasya = new User('Вася'); vasya.hello(vasya); // ... // Привет, Вася

user.js

function User(name){ this.name = name; } User.prototype.hello = function(who){ console.log('Привет, ' + who.name); } module.exports = User;

проверка на возможность эскпортировать

function run(){} if(module.parent){ exports.run = run; // Экспортируем функцию run } else { run(); }

Командная строка

Чтение параметров из командной строки и окружения

Базовый функционал

console.log(process.argv);

С использованием модуля optimist

npm install optimist

С использованием переменных окружения

console.log(process.env);

NPM

npm init - Создание модуля

npm adduser/addu user@host.com - Добавление пользователя для публикации модуля

npm publish/pu - Пупликация модуля

npm unpublish/unpu - Удаление публикации модуля

npm search/s

npm install/i module_name

npm remove/r module_name