2016-03-01 73 views
0

有沒有人在Nodewebkit中運行Hapi應用程序?在Nodewekit中運行Hapi.js

這是我的package.json:{ "name": "nw", "version": "1.0.0", "description": "", "main": "index.html", "node-main": "nwindex.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "webkit": { "page-cache":false }, "author": "", "window": { "toolbar": true, "width": 800, "height": 500 }, "license": "ISC", "dependencies": { "jquery": "^2.1.4", "nw": "^0.12.2", "pretty-bytes": "^1.0.2" } }

這是我的index.html:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>My App</title> 

</head> 
<body> 
<script type="text/javascript"> 
    var gui = require('nw.gui'); 
    var win = gui.Window.get(); 

    var fs = require("fs"); 
    gui.App.clearCache(); 


    setTimeout (function() { 
    window.location = 'http://localhost:3000'; 
    },1000) 

這是我nwindex.js(Getting started from official site):

'use strict'; 

const Hapi = require('hapi'); 

const server = new Hapi.Server(); 
server.connection({ port: 3000 }); 

server.route({ 
method: 'GET', 
path: '/', 
handler: function (request, reply) { 
    reply('Hello, world!'); 
    } 
    }); 

    server.route({ 
    method: 'GET', 
    path: '/{name}', 
    handler: function (request, reply) { 
     reply('Hello, ' + encodeURIComponent(request.params.name) + '!'); 
    } 
    }); 
    server.start((err) => { 

    if (err) { 
     throw err; 
    } 
    console.log('Server running at:', server.info.uri); 
    }); 

專業版瑕疵是當我開始NW,它立即存在。我可以看到裏面發生了什麼。

我已刪除代碼一行一行地看hwere的問題,我已經把範圍縮小到初始呼叫線路:

const Hapi = require('hapi'); 

似乎崩潰的應用程序。任何幫助appreaciated。 Nodewebkit版本我用:

  • nw.js v0.12.3
  • io.js V1.2.0
  • 鉻41.0.2272.76

經過測試,看來這是一個maeking問題:

server.start((err) => { 

This => operator。如何繞過它?

+0

server.start(函數(ERR){ – xkcd149

+0

莫非是整個問題?當我在調試模式下運行NW,我也參見Items.serial(this.connections,(connectionItem,下一個)=> {SyntaxError:Unexpected token => ... –

+0

你使用的是什麼版本的hapi? –

回答

1

您所描述的是ES6箭頭功能,它在您正在使用的節點版本中不可用。 ES6 in Node.js

server.start(function(err){ 

    if (err) { 
     throw err; 
    } 
    console.log('Server running at:', server.info.uri); 
});