我最近在玩nodejs,想用它构建我的第一个项目。但对我来说有一个主要的绊脚石。
URL 生成。
我非常习惯 Codeigniter 的 base_url()
和 site_url()
,这给出了一个完整的 url,如 http://www.example.com/resources/img/bla.jpg ,所以我发现 NodeJS/Express 没有这样的等效函数,这让我有点奇怪。
我是否会犯这个错误,或者是否有某个模块可以像 base_url()
和 site_url()
那样生成 url?
我正在使用 Express 框架,以 Jade 作为模板引擎,以 MongoDB 作为数据库。
最佳答案
Express 的范围和 PHP 框架(如 Codeigniter)的范围有很大不同,并且 Express 对站点的布局方式做出的假设要少得多。例如,完全可以使用 Express(使用 connect-vhost 中间件)为多个虚拟主机提供服务。在这种情况下,使用像 base_url() 这样的函数就没有什么意义了。
话虽这么说,自己推出是很容易的,类似这样:
var BASE_URL = "http://mysite.com"; // Can be loaded in a config file
module.exports.baseUrl = function(path) {
path = (path || "").replace(/^\//, '');
return BASE_URL + "/" + path;
}
关于node.js - 快速 URL 生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922967/