2013-02-14 42 views
0

我想表明我的网站在appjs窗口中的内容,但我不知道怎么办。如何连接到appjs服务器的NodeJS并显示其内容

在appjs脚本有 app.serveFilesFrom(__dirname + '/content'); 说,其中的内容是,它有显示,但我不希望它的地方,我想让它显示我的网站的内容,用Node.js的运行serverscript。

我试过这个 https://github.com/appjs/appjs/wiki/Using-express-to-handle-local-http-requests 和express.js文档中的一些方法,但未成功。

因此,我在这里问,有人有一个想法,如何做到这一点?

+0

您是否问过如何使用您的'节点从您的网站下载远程内容。js'应用程序并提供内容与它? – fardjad 2013-02-14 17:28:52

+0

不,不下载。就好像浏览器会是app.js.它只显示来自我的节点服务器的内容。 – RedDot 2013-02-14 19:45:05

回答

1

我希望我理解正确你的问题,你实际上可以使代理请求和管道这是针对你的应用程序的响应。

var http = require("http"); 
var express = require("express"); 
var app = express(); 

var options = { 
    host: "stackoverflow.com", 
    port: 80, 
    path: "/", 
    method: "GET", 
    headers: {} 
}; 

app.get("/stackoverflow*", function (request, response) { 
    "use strict"; 

    var proxyRequest; 

    options.headers.cookie = request.headers.cookie; 
    options.headers["user-agent"] = request.headers["user-agent"]; 

    // TODO set other headers if needed 

    options.path = "/" + request.path.split("/").slice(2).join("/"); 
    options.method = request.method; 

    proxyRequest = http.request(options, function (proxyResponse) { 
     proxyResponse.pipe(response); 
    }); 

    request.pipe(proxyRequest); 
}).listen(8080); 

现在你可以浏览到http://localhost:8080/stackoverflow/questions/14880557/how-to-connect-appjs-to-nodejs-server-and-show-its-content/14890268#14890268和您的应用程序将显示来自stackoverflow.com请求的路径。

2

有你喜欢的web浏览器,它是AppJS的主要意图之一AppJS窗口内显示的网站,就可以利用这些两(2)步骤中的任何一个;

  1. 创建IFRAME(即填充的宽度和高度)在位于的index.html 文件“数据/内容/”。

    将IFRAME SRC到您的网站的网址。

    例如< iframe src =“http://www.YourWebsite.com”>

    这会在App.exe启动时在AppJS窗口中显示您的网站。

    注意:您可能希望使用CSS使iframe填充100%的窗口宽度和100%的高度。

  2. 变化的代码在 “数据/ node_modules/appjs/LIB/settings.js”

    FROM

    URL行: 'HT TP:// appjs',

    TO

    网址: 'http://www.YourWebsite.com'

多数时候我选择FO时间第一个选项,因为它可以让我用CSS做很多事情。这包括在IFRAME的背景放置一个动画GIF以指示启动时的页面加载。

我去的第二个选项只有当我想让我的实际网站的网址有点麻烦的企图的黑客中找到。虽然仍然保留“数据/内容”目录及其内容未删除。

我希望这个答案。

+0

竖起大拇指为简单和干净的iframe解决方案 – Timo 2015-07-06 22:18:00