使用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.*
- 根据
request
的数据确定正在请求哪个文件 - 确定该文件是否存在(如果不存在则发送一个404响应)
- 确定该文件types的正确内容types并适当地设置标题
- 读取文件并将其输出到响应中
换句话说: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