是否可以在Android上运行带有node.js的本地Web服务器?

时间:2015-03-27 14:45:41

标签: android node.js server

我正在构建一个node.js应用程序(服务器端的node.js和客户端的html / javascript / css)。这是我的server.js文件:

var app = require('http').createServer(handler),
  fs = require('fs'),
  static = require('node-static');

// handle web server
function handler (req, res) {
  fs.readFile(__dirname + '/client/client.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading client.html');
    }
    res.writeHead(200);
    res.end(data);
  });
}

// creating the server ( localhost:8000 )
app.listen(8000);


// Create a node-static server instance to serve the './static' folder
var staticFiles = new static.Server('./static');

require('http').createServer(function (request, response) {
    request.addListener('end', function () {
        //
        // Serve files!
        //
        staticFiles.serve(request, response);
    }).resume();
}).listen(8080);

我使用它作为本地服务器来构建我的应用程序。在我的计算机上,我使用终端中的node server.js命令来运行服务器并在以下地址提供我的html和javascript文件:http://localhost:8000/

我想在Android平板电脑上做同样的事情。这是可能的,怎么做?

编辑:我已经看到,这可能是here,但我不确定问题是否相同。

1 个答案:

答案 0 :(得分:2)

我在Android设备上的Linux上运行Node.js.我是这样做的:

  1. 从Play商店安装Kingroot以在Android设备上获取root权限。
  2. 安装Linux Deploy,然后用它来安装Fedora。
  3. 使用Android终端su到Android的root用户,然后运行data / data / ru.meefik.com / linuxdeploy / files / bin / linuxdeploy shell以获取Linux容器中的root shell。
  4. 将Linux容器中的root密码更改为' a' (出于某种原因,它不会占用多个角色)。
  5. 使用JuiceSSH ssh到Fedora Linux容器中。苏到root并更改密码。
  6. dnf install nodejs npm #install node
  7. npm install -g n #install substack' s node version manager
  8. n 5.3.0#install v5.3.0 of node
  9. mv / usr / sbin / node /usr/sbin/node.orig
  10. mv / usr / sbin / npm /usr/sbin/npm.orig
  11. ln -s / usr / local / bin / node / usr / sbin / node
  12. ln -s / usr / local / bin / npm / usr / sbin / npm
  13. 步骤9 - 12是必要的,因为sudo node --version将始终返回dnf安装版本,而不是n安装版本。