【发布时间】:2014-03-16 14:11:24
【问题描述】:
我正在使用 nodejs 和 express 开发一个应用程序。
我想用 node-webkit 将它作为一个包导出。
如何启动服务器并使用它运行应用程序?
【问题讨论】:
-
我回答了这个问题,好奇是否有帮助
标签: node.js express node-webkit
我正在使用 nodejs 和 express 开发一个应用程序。
我想用 node-webkit 将它作为一个包导出。
如何启动服务器并使用它运行应用程序?
【问题讨论】:
标签: node.js express node-webkit
我正在努力自己学习这个。以下是将 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 的文件。您的应用应该会启动。
完成
【讨论】:
Node-Webkit(意思是 nodeJS+chromium 框架),这样你就可以将你的服务器代码(Express.js 等)直接运行到你的应用程序中(只需安装 expressJS,然后直接调用客户端代码)就是这样
【讨论】: