node.js什么是requirejs模块

时间:2013-06-12 14:38:39

标签: node.js requirejs

我下载了一个关于使用nodejs和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 个答案:

答案 0 :(得分:4)

有一个名为“module”的特殊命名的requirejs依赖项,您可以使用它从requirejs内部查找其他信息。这通常用于传递其他配置数据。来自requirejs config api documentation

  

通常需要将配置信息传递给模块。该配置信息通常被称为应用程序的一部分,需要有一种方法将其传递给模块。在RequireJS中,使用requirejs.config()的config选项完成。然后,模块可以通过询问特殊依赖“模块”并调用module.config()来读取该信息。

另请参阅wiki中的Magic Modules

  

此模块为您提供有关模块ID和当前模块位置的信息:

在该部分中,他有一个使用module.uri的示例,就像在原始代码段中一样:

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