如何使用node-webkit与快速服务器?

时间:2014-02-17 10:24:29

标签: node.js express node-webkit

我正在使用nodejs和express开发一个应用程序 我想将它导出为带有node-webkit的包。

如何启动服务器并使用它运行应用程序?

2 个答案:

答案 0 :(得分:0)

我正在努力学习这一点。以下是将快速应用程序转换为节点webkit应用程序的基础知识。

我假设你有一个安装了两个模块的node.js应用程序。第一个是express.js,第二个是模板引擎。我正在使用把手,所以我将在这个例子中使用它。

我还假设您要转换的应用程序是最简单的应用程序,简而言之,我将假设您使用快速执行两项操作 - 运行服务器并响应呈现视图文件的单个路径

第1步。

下载节点webkit:http://nwjs.io/

第2步。

解压缩

第3步。

打开控制台并cd进入新创建的文件夹(我将从此处将此目录称为 app-parent )。一旦你在那里 - 运行这个命令:

npm install express

完成后,运行:

npm install express-handlebars

第4步:

app-parent 中创建另外两个文件夹。一个名为资源,另一个名为视图。同样在 app-parent 中创建一个名为 package.json 的文件。

将以下代码复制到 package.json

{
    "name": "app",
    "main": "resources/index.html"
}

第5步:

转到资源文件夹并创建名为 index.html 的文件。在此副本内部有以下代码:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>

</head>
<!--______________________________________________________BEGIN APP-->

<body>
    <script>
    </script>
    <script>
    var express = require('express');
    var app = express();

    var expressHbs = require('express-handlebars');

    app.engine('hbs', expressHbs({
        extname: 'hbs'
    }));

    app.set('view engine', 'hbs');


    app.get("/", function(req, res) {
        res.render("index", {
            item: "weeeeeeeee"
        })
    })



    app.listen("3000", function(err) {

        if (err) {
            console.log("server is not working");
        } else {
            console.log("Server is working on 3000");
        }
    })



    window.location.href = 'http://localhost:3000';
    </script>
</body>
<!--______________________________________________________END APP-->

</html>

第7步。

转到 app-parent 中的views文件夹,然后创建一个名为 index.hbs 的新文件。在此文件中复制以下代码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>

    </head>
    <!--______________________________________________________BEGIN APP-->
    <body>
        <p>Oink</p>
        {{item}}
    </body>
    <!--______________________________________________________END APP-->
</html>

最后一步。

app-parent 内,点击名为 nw.exe 的文件。您的应用应该启动。

完成

答案 1 :(得分:-2)

Node-Webkit(意为nodeJS + chrome框架),因此您可以将服务器代码(Express.js等)直接运行到您的应用程序(只需安装expressJS然后直接调用客户端代码)< / p>