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
而言,我完全感到困惑?
答案 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.*
代码:
request
换句话说: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