Javascript 我无法理解Node.js代码

Javascript 我无法理解Node.js代码,javascript,node.js,Javascript,Node.js,我在理解Node.js代码时遇到问题: 我了解模块“express”的导入和路由器构造器的使用 var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res) { res.render('index', { title: 'Express' }); }); module.exports = router; 但是

我在理解Node.js代码时遇到问题:

我了解模块“express”的导入和路由器构造器的使用

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res) {
  res.render('index', { title: 'Express' });
});

module.exports = router;
但是,我不理解以下部分中“/”和“索引”的用途:

router.get('/', function(req, res) {
  res.render('index', { title: 'Express' });
});

我们将非常感谢您的帮助

索引的功能是定义要渲染的视图

 res.render(view, [locals], callback)
“/”的功能可以用以下公式解释:

// invoked for any requested passed to this router
router.use(function(req, res, next) {
// .. some logic here .. like any other middleware
next();
});

// will handle any request that ends in /events
// depends on where the router is "use()'d"
router.get('/events', function(req, res, next) {
// ..
});
您可以使用此页面作为将来的参考:
如果您的站点是
abc.com
,那么简单来说,
/
意味着当有人来到您的站点,他将
abc.com
放在浏览器中,然后执行以下功能

url是相对的,所以
/
表示根


.render('index'…
意味着呈现项目中将包含的
index.html
index.ejs
。呈现意味着将其发送到浏览器的响应中。

节点很棒,但这是它们为数不多的绝对可怕的API之一

app.get()
使用单个字符串参数获取以前通过
set()设置的属性。
Basic getter/setter stuff

app.get()
带有一个字符串和一个函数,意味着当他们对该路径执行HTTP get时,调用该函数


糟糕的重载。

这是路由所针对的URL,请阅读文档。/是任何语言的指示符,仅显示到脚本运行所在文件夹的路由。这与键入完整路径以访问它是一样的。请注意,这是“绝对可怕的API”不是node,而是express,它来自ruby的Sinatra AFAIK。在很多语言中都有大量的克隆体。@Darkhogg感谢您的澄清。我知道它是真正的express(答案应该更清楚),但不知道它来自Sinatra。所以应该归咎于Ol'Blue Eyes-太多的Jack Daniels?