Javascript 使用Node.js将URL字符串发送到其他脚本

Javascript 使用Node.js将URL字符串发送到其他脚本,javascript,node.js,express,url-mapping,Javascript,Node.js,Express,Url Mapping,我开始学习Node.js,使用带有Jade和Mongoose的Express作为默认工具箱。我曾经用PHP开发,移植到Python,并通过Django学习MVC。有了一个大型客户端JS游戏和Mozilla.org的一些灵感,我愿意制作一个多人游戏——并将此视为学习Node的非商业机会:我可以慢慢来 然而,我遇到了一个问题。我并不是想自己写一个MVC系统,只是想像大多数MVC一样把我网站的“应用程序”分开。问题可能是最基本的——拥有这段代码: app.get(/^blog/,函数(req,res)

我开始学习Node.js,使用带有Jade和Mongoose的Express作为默认工具箱。我曾经用PHP开发,移植到Python,并通过Django学习MVC。有了一个大型客户端JS游戏和Mozilla.org的一些灵感,我愿意制作一个多人游戏——并将此视为学习Node的非商业机会:我可以慢慢来

然而,我遇到了一个问题。我并不是想自己写一个MVC系统,只是想像大多数MVC一样把我网站的“应用程序”分开。问题可能是最基本的——拥有这段代码:

app.get(/^blog/,函数(req,res){
要求(“/博客”)();
});
。。。我了解Node/Express URL屏蔽的基本知识,但是我需要将URL字符串的其余部分(在
mysite.com/blog
之后的所有内容)传递给
blog
应用程序中的另一个URL解析脚本

我在谷歌上搜索了一会儿,没有找到一个好的解决办法。我甚至发现了一个完整的关于在Node和Express中构建MVC方案的教程,它是为旧的Express版本编写的,但现在这有点过头了。你能给我一个简单的解决方案吗

我认为
blog/index.js
应该是这样的:

module.exports=函数(urlstring){
if(urlstring.indexOf('post')!=-1){
//做些事情。。。
}
else if(urlstring==='/')){
//回家,杰德还是什么
}
};

我希望我说的很清楚。提前谢谢

使用express,您无需自行解析URL。我想你会希望以这样的方式构建你的博客URL

/博客显示博客文章列表 /blog/post/1显示id为“1”的日志

使用express 4,您可以为您的博客路径或安装的应用程序设置路由器。安装的应用程序允许您让应用程序处理基本URL路径的所有子URL

我想演示如何使用express 4路由器和express的安装功能来构建博客路由

// Set up express app
var app = express();

// Set up  a router
var router = express.Router();

router.get('/', function(req, res) {
  // Show a list of blog posts
}

router.get('/post/:id', function(req, res) {
  // Show a single blog post 
}

// Mount router
app.use('/blog', router);

此解决方案的一个好处是,在路由器中注册的路由总是获得相对URL,而不带
/blog
前缀,因此您可以在其他项目中的URL下重用日志路由,如
/companyblog

不要这样做。相反,使用挂载的Express应用程序。你是什么意思?你知道,我是诺德等人的新手…谢谢!这与使用
应用程序不同。使用
需要外部应用程序吗?外部文件将有一个新的
app=express()
,在所有相关URL检查之后,代码将
module.exports=app
导出到主文件。