使用express.js和node.js运行我的示例应用程序

时间:2013-09-13 11:09:24

标签: javascript node.js

var sys = require("sys"),  
my_http = require("http");  
my_http.createServer(function(request,response){  
    sys.puts("I got kicked");  
    response.writeHeader(200, {"Content-Type": "text/plain"});  
    response.write("Hello World");  
    response.end();  
}).listen(8080);  
sys.puts("Server Running on 8080");

以上是我的基本网络服务器,现在我想运行包含HTML和JS文件的应用程序。我会在哪里放置这些文件,以便我可以通过我的端口访问它。

我使用Apache and Xampp,因此我将文件放在htdocs目录中并通过浏览器访问它,但就node.js而言,我完全感到困惑?

3 个答案:

答案 0 :(得分:10)

让我们一步一步走。

确定申请的位置。

冷杉确定申请的地点。我们将其视为C:\your_app。路径无关紧要,所以请随时找到最适合您的目录。

安装Node.js

我们将在此处设置Node.js and Express。 Node.js是一个框架,Express提供了一个Web服务器。我们需要的Web服务器不需要做任何花哨的事情。 Web服务器需要的唯一功能是提供静态文件。

开始下载并安装Node.JS:http://nodejs.org/

安装Express

Express是一个在Node.js中执行的包。要安装express,请在命令提示符中导航到您的应用程序目录c:\ your_app。

现在让install Express as a package for Node.js.在命令提示符下键入“npm install express”。安装了Express并且应该创建了一个名为“node_modules”的目录。

<强> server.js

现在安装了Express,我们需要将其配置为作为Web服务器执行。在c:\ your_app目录中创建另一个文件,调用“server.js”。

var express = require('express');
var app = express();
port = process.argv[2] || 8000;

app.configure(function () {
    app.use(
        "/", //the URL throught which you want to access to you static content
        express.static(__dirname) //where your static content is located in your filesystem
    );
});
app.listen(port); //the port you want to use
console.log("Express server running");

在Node.js中启动Express Web Server

在命令提示符中,确认您位于c:\ your_app目录并执行以下命令。

node server.js 8000

现在,网络服务器should be running on port 8000和您的index.html页面应显示在浏览器中

答案 1 :(得分:1)

您可以将文件放在任何您喜欢的位置,只要服务器正在运行的用户可以读取它们。

但是,如果您希望代码为其提供服务,那么您需要使用以下代码替换所有response.*代码:

  1. 根据request
  2. 中的数据确定要请求的文件
  3. 确定该文件是否存在(如果不存在,则发送404响应)
  4. 确定该文件类型的正确内容类型并相应地设置标题
  5. 读入文件并在响应中输出
  6. 换句话说:Node.js不是Web服务器。您可以使用JavaScript编写Web服务器并在Node.js上运行它,但您只是沿着该路径迈出了第一步。

答案 2 :(得分:1)

您不需要Apache与Node.js一起使用。如果您需要基本服务器,可以使用Connect中间件:

var connect = require('connect');
var port = process.env.PORT || 8080;

connect()
  .use( connect.static(__dirname + '/public') )
  .use( function (request, response) {
    /* your code */
  })
  .listen(port);

创建public目录和js文件,将静态文件放在那里并使用

激活服务器
$ node index.js

如果您没有安装Connect:

$ npm install connect --save