2

我计划将一个小型 PHP 代码库(少于 1000 行)转换为 Node.js。这是一个包含大约 50k 行 JS 的 Web 应用程序,所以我想我会将它移至 Node.js。(另外,PHP 糟透了。)我将在node-static包中提供一些静态文件(CSS、HTML 等)。我的问题是我的 PHP 文件不是静态的。

例如,我有一个在 GET 变量上运行的搜索页面。我添加?keyword=blah到 URL 的末尾,PHP 脚本搜索数据库并为浏览器输出 HTML。如何在 Node.js 中复制这种行为?(换句话说,我如何创建一个服务器来监听localhost/search.html并接受 URL 中的 GET 变量?)

我知道我可以改变搜索的方式来实现这一点,但我真的很想弄清楚如何复制这种行为,因为我有几个以相同方式运行的脚本。

编辑:至于数据库,我实际上使用的是 OrientDB。但我不直接连接到它,我使用一组 Java 服务,我将 JSON 请求发送到这些服务。所以真的,我需要做的就是发布一个 JSON 请求(同步)并输出 HTML。

4

1 回答 1

3

这是我的做法:

创建一个新的ExpressJS应用程序

"express myapp" 

安装所有依赖项

"cd myapp && npm install".

在 app.js 中,确保在“ var app ”之前需要“url”包

var url = require('url');

向“app.js”添加一个新路由,以便它查找对“search.html”的任何 GET 请求

app.get('/search.html', function(req, res) {

    // Process the request for the GET variables
    var url_parts = url.parse(req.url, true);
    var query = url_parts.query; // These are all your GET variables
    var search_keyword = query.keyword;

    if(search_keyword) {
        // The keyword indeed exists
        console.log(search_keyword);

    }
    res.end();
});

如果您运行应用程序并转到“search.html?keyword=haha”,您的控制台将输出“haha”。之后您可以使用关键字执行任何操作。

于 2013-03-27T15:08:24.137 回答