如何使用express js创建一个简单的html服务器

Zso*_*oca 8 javascript fileserver node.js express

我是node.js的新手我想创建一个简单的express.js静态文件服务器,但我有一些问题.我在全球范围内安装了express.js 4.2,如下所示:

npm install  -g express-generator
Run Code Online (Sandbox Code Playgroud)

我在httpsrv.js中有这个代码:

var http = require('http');
var express = require('express');
var app = express();

app.use('/', express.static(__dirname + '/public'));
app.listen(3000, function() { console.log('listening')});
Run Code Online (Sandbox Code Playgroud)

我不确定是否可以,我想这还不够,但我无法运行它失败了,错误:找不到模块'express'.

我想创建一个简单的http服务器,可以从特定的文件夹("\ public"例如)服务,我使用的是.html语言.我在互联网上找到了很多废话,我不想使用这个.jade的东西,我不想用快递等创建一个空的web应用程序.我想要像Apache一样运行的express.js http服务器首先从指定的文件夹提供静态html页面.任何人都可以帮我这个,建议一篇好文章,一步一步解释,因为我是初学者.

Eva*_*ahn 21

如果您只是尝试从名为"public"的目录中提供静态文件,那么您可能会对这样的应用程序感到满意:

var path = require('path');
var express = require('express');

var app = express();

var staticPath = path.join(__dirname, '/public');
app.use(express.static(staticPath));

app.listen(3000, function() {
  console.log('listening');
});
Run Code Online (Sandbox Code Playgroud)

您需要确保已安装Express.您可能会npm install express --save在与上述JavaScript文件相同的目录中运行.准备就绪后,您将node the_name_of_the_file_above.js开始运行服务器.

  • 现在它几乎是好的,但当我启动服务器并尝试在浏览器中看到时,我收到此消息:"无法获取/".我猜它唯一的路径问题.我的javascript服务器文件放在同一个"/ public"目录下,我要服务的是一个问题吗? (2认同)

ash*_*148 10

首先安装快递模块,尽管快递发电机

npm install express
Run Code Online (Sandbox Code Playgroud)

试试这个删除公众

var express = require('express');
var app = express();

app.use('/', express.static(__dirname));
app.listen(3000, function() { console.log('listening')});
Run Code Online (Sandbox Code Playgroud)

它工作正常.