dje*_*evg 40 javascript node.js express
我正在做一些前端实验,我想有一个非常基本的网络服务器来快速启动项目并提供文件(一个index.html文件+一些css/js/img文件).所以我正在尝试使用node.js和express,我已经玩了两次,但是这次我不想使用渲染引擎,因为我只有一个静态文件,这个代码我得到了html文件但不是资产(错误404):
var express = require('express'),
app = express.createServer();
app.configure(function(){
app.use(express.static(__dirname + '/static'));
});
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法(如果可能,在一个文件中)或Express需要使用视图和渲染引擎?
ajv*_*nti 61
我遇到了这个,因为我有类似的情况.我不需要或不喜欢模板.您放在express下的public /目录中的任何内容都将作为静态内容提供(就像Apache一样).所以我将index.html放在那里并使用sendfile来处理没有文件的请求(例如:GET http:// mysite /):
app.get('/', function(req,res) {
res.sendfile('public/index.html');
});
Run Code Online (Sandbox Code Playgroud)
vin*_*esh 29
以下代码为我工作.
var express = require('express'),
app = express(),
http = require('http'),
httpServer = http.Server(app);
app.use(express.static(__dirname + '/folder_containing_assets_OR_scripts'));
app.get('/', function(req, res) {
res.sendfile(__dirname + '/index.html');
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
这会加载包含资产的页面
isN*_*247 13
你可以用 在node.js中有这样的解决方案 (链接不再有效),正如我之前发表的博客.
总结,安装连接npm install connect.
然后将此代码粘贴到server.js与HTML/CSS/JS文件位于同一文件夹中的文件中.
var util = require('util'),
connect = require('connect'),
port = 1337;
connect.createServer(connect.static(__dirname)).listen(port);
util.puts('Listening on ' + port + '...');
util.puts('Press Ctrl + C to stop.');
Run Code Online (Sandbox Code Playgroud)
现在导航到终端中的该文件夹并运行node server.js,这将为您提供一个临时Web服务器http://localhost:1337