我是node.js的新手我想创建一个简单的express.js静态文件服务器,但我有一些问题。 我已经在全球范围内安装了express.js 4.2:
npm install -g express-generator
我在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')});
我不确定是否可以,我认为这还不够,但我无法运行它因错误而失败:无法找到模块'表达'。
我想创建一个简单的http服务器,它可以从特定文件夹(" \ public"例如)和我使用.html语言提供服务。我在互联网上发现了很多废话,我不想使用这个.jade的东西而且我不想创建一个带有快递等的空网页应用程序。我想要express.js http服务器可以操作像Apache一样,可以首先从指定的文件夹提供静态html页面。 任何人都可以帮我这个,建议一篇好文章,一步一步解释,因为我是初学者。
答案 0 :(得分:20)
如果您只是尝试从名为“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');
});
您需要确保已安装Express。您可能会在与上述JavaScript文件相同的目录中运行npm install express --save
。一旦准备就绪,您将运行node the_name_of_the_file_above.js
来启动服务器。
答案 1 :(得分:9)
首先安装快递模块,尽管快递发生器
npm install express
尝试删除公共
var express = require('express');
var app = express();
app.use('/', express.static(__dirname));
app.listen(3000, function() { console.log('listening')});
工作正常。
答案 2 :(得分:1)
这个问题甚至不需要任何代码或框架;从npm安装http-server,导航到命令提示符下的文件夹并运行以下命令:
http-server
它会启动一个轻量级的http服务器并立即从文件夹中提供静态内容,可以使用http://localhost
查看