2013-06-12 2 views
0

J'ai téléchargé un exemple d'utilisation de nodejs et requirejs. Considérez ce code d'extrait.node.js qu'est-ce que requirejs module

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; 
}); 

Qu'est-ce que le module "module"? Quand je regarde dans mon fichier de dépendances, "module" n'existe pas.

{ 
    "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" 
    } 
} 

Quand est-ce que je vais utiliser requirejs alors le soulignement est-il important?

+1

AFAIK, vous ne devez pas lister un vers dépendance d'ions pour chaque module. Il va simplement vérifier votre dossier de modules pour un module (inapproprié) nommé "module". – landons

Répondre

4

Il existe une dépendance requirejs spécialement nommée appelée 'module' que vous pouvez utiliser pour rechercher des informations supplémentaires à partir des internes de requirejs. Ceci est généralement utilisé pour transmettre des données de configuration supplémentaires. À partir du requirejs config api documentation:

Il est courant de transmettre des informations de configuration à un module. Cette information de configuration est généralement connue comme faisant partie de l'application, et il doit y avoir un moyen de la transmettre à un module. Dans RequireJS, cela est fait avec l'option config pour requirejs.config(). Les modules peuvent alors lire ces informations en demandant le "module" de dépendance spécial et en appelant le module.config().

Voir aussi Magic Modules du wiki:

Ce module vous donne des informations sur le module ID et l'emplacement du module en cours:

Dans cet article, il a un exemple de en utilisant module.uri, comme dans votre extrait de code original:

define(['module'], function(module){ 
    console.log(module.id); 
    console.log(module.uri); 
}); 
Questions connexes