2013-06-12 7 views
0

Я загрузил пример об использовании nodejs и requirejs. Рассмотрим этот код фрагмента.node.js Что такое модуль requirejs

define(['express', 'module', 'path'], function (express, module, path) { 
    var app = express.createServer(); 

    app.configure(function() { 
    app.use(express.logger({ format: ':method :url :status' })); 
    var filename = module.uri; 
    app.use(express.static(path.dirname(filename) + '/static')); 
    }); 

    return app; 
}); 

Что такое модуль «модуль»? Когда я смотрю в файле делений, «модуль» не существует.

{ 
    "name": "node-requirejs-example", 
    "version": "0.0.1", 
    "dependencies": { 
    "express": "2.5.0", 
    "requirejs": ">=1.0.0", 
    "socket.io": ">=0.8.7", 
    "underscore": ">=1.2.1" 
    } 
} 

Когда я собираюсь использовать requirejs, то важно подчеркнуть?

+1

AFAIK, вам не нужно указывать версию ионной зависимости для каждого модуля. Он просто проверит вашу папку модулей для модуля (неадекватно) с именем «module». – landons

ответ

4

Существует специальная функция requirejs dependency, называемая «модулем», которую вы можете использовать для поиска дополнительной информации из внутренних компонентов requirejs. Обычно это используется для передачи дополнительных данных конфигурации. От requirejs config api documentation:

Существует общая потребность в передаче информации о конфигурации в модуль. Эта информация о конфигурации обычно известна как часть приложения, и должен быть способ передать это до модуля. В RequireJS это делается с опцией config для requirejs.config(). Затем модули могут читать эту информацию, запрашивая специальный модуль «модуль» и вызывающий module.config().

Смотрите также Magic Modules из вики:

Этот модуль дает информацию о ID модуля и расположения текущего модуля:

В этом разделе, он имеет пример используя module.uri, например, в вашем исходном коде фрагмента кода:

define(['module'], function(module){ 
    console.log(module.id); 
    console.log(module.uri); 
}); 
Смежные вопросы