我正在使用nodejs和express开发一个应用程序
我想将它导出为带有node-webkit的包。
如何启动服务器并使用它运行应用程序?
答案 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>