使用express.js和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"); 

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

我使用Apache and Xampp ,所以我把我的文件在htdocs目录,并通过我的浏览器访问它,但在node.js方面,我完全困惑?

让我们一步一步来。

确定您的应用程序的位置。

冷杉确定您的应用程序的位置。 让我们把它作为C:\your_app 。 path不重要,所以随时find最适合你的目录。

安装Node.js

这里是我们将设置Node.js and Express 。 Node.js是一个框架,Express提供了一个Web服务器。 我们需要的networking服务器不需要做任何事情。 Web服务器需要的唯一function是提供静态文件的能力。

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

安装Express

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

现在让我们install Express as a package for Node.js. 在命令提示符处input“npm install express” 。 安装了Express,并且应该创build一个名为“node_modules”的目录。

server.js

现在安装了Express,我们需要将其configuration为以Web服务器的forms执行。 在c:\ your_app目录下创build另一个文件,调用“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 

现在Web服务器should be running on port 8000并且您的index.html页面应该显示在浏览器中

你可以把文件放在任何你喜欢的地方,只要服务器正在运行的用户可以读取它们。

然而,如果你想要这个代码来为他们服务,那么你将需要用你的代码replace所有的代码response.*

  1. 根据request的数据确定正在请求哪个文件
  2. 确定该文件是否存在(如果不存在则发送一个404响应)
  3. 确定该文件types的正确内容types并适当地设置标题
  4. 读取文件并将其输出到响应中

换句话说:Node.js不是一个Web服务器。 您可以使用JavaScript编写Web服务器并在Node.js上运行它,但是您只是沿着这条路线迈出了第一步。

您不需要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); 

创buildpublic目录以及你的js文件,把静态文件放到那里,然后用一个服务器

 $ node index.js 

如果您没有安装Connect:

 $ npm install connect --save