【问题标题】:how to use node-webkit with express server?如何将 node-webkit 与 express 服务器一起使用?
【发布时间】:2014-03-16 14:11:24
【问题描述】:

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

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

【问题讨论】:

  • 我回答了这个问题,好奇是否有帮助

标签: node.js express node-webkit


【解决方案1】:

我正在努力自己学习这个。以下是将 express 应用程序转换为 node webkit 应用程序的基础知识。

我假设您有一个安装了两个模块的 node.js 应用程序。第一个是 express.js,第二个是模板引擎。我正在使用车把,因此我将在此示例中使用它。

我还将假设您要转换的应用程序是最简单的应用程序,简而言之,我将假设您正在使用 express 做两件事 - 运行服务器并响应呈现视图文件的单个路由

第 1 步。

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

第 2 步。

解压

第 3 步。

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

npm install express

完成后运行:

npm install express-handlebars

第 4 步:

app-parent 中创建两个附加文件夹。一个名为 resources,另一个名为 views。同样在 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 的文件。您的应用应该会启动。

完成

【讨论】:

  • 如何在nwjs安装中包含express和express句柄,方便终端用户打包?
【解决方案2】:

Node-Webkit(意思是 nodeJS+chromium 框架),这样你就可以将你的服务器代码(Express.js 等)直接运行到你的应用程序中(只需安装 expressJS,然后直接调用客户端代码)就是这样

【讨论】:

  • 想详细说明一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
相关资源
最近更新 更多