RequireJS - NodeJS
Адаптер Node можно использовать вместе с реализацией Require и пути поиска Node. Если RequireJS не использует конфигурацию модуля, вы можете использовать существующие модули на основе Node, не меняя их. Вы можете установить пакеты узлов в каталог node_modules проекта с помощью команды npm.
Node будет загружать модули только с локального диска, а параметры конфигурации, такие как карта, пакеты, пути и т. Д., Будут применяться только тогда, когда модуль загружается с помощью RequireJS.
Установка узла
Вы можете установить адаптер узла, используя следующую команду, которая установит файлы последней версии:
npm install requirejs
Вы также можете установить узел следующими способами:
Вы можете скачать r.js по этой ссылке и сохранить его в папке своего проекта.
Получить исходный код из r.js хранилища или установить его через узел dist.js .
Использование узла
Чтобы использовать узел, вам необходимо иметь require ('requirejs') и переместить функцию require в конфигурации в файл main.js верхнего уровня.
Например -
var requirejs = require('requirejs');
requirejs.config({
//load the mode modules to top level JS file
//by passing the top level main.js require function to requirejs
nodeRequire: require
});
requirejs(['name1', 'name2'],
function (name1, name2) {
//by using requirejs config, name1 and name2 are loaded
//node's require loads the module, if they did not find these
}
);
Сборка узловых модулей с помощью AMD или RequireJS
Вы можете заставить модуль кода работать с RequireJS и Node, не требуя от пользователей библиотеки, а затем использовать пакет amdefine для выполнения этой работы.
Например -
if (typeof define !== 'function') {
var define = require('amdefine')(module);
}
define(function(require) {
var myval = require('dependency');
//The returned value from the function can be used
//as module which is visible to Node.
return function () {};
});
Оптимизатор как узел узла
Модуль Node использует оптимизатор RequireJS в качестве метода оптимизации , используя вызов функции вместо использования инструмента командной строки.
Например -
var requirejs = require('requirejs');
var config = {
baseUrl: '../directory/scripts',
name: 'main',
out: '../build/main-built.js'
};
requirejs.optimize(config, function (buildResponse) {
//The text output of the modules specify by using buildResponse
//and loads the built file for the contents
//get the optimized file contents by using config.out
var contents = fs.readFileSync(config.out, 'utf8');
}, function(err) {
//code for optimization err callback
});