Подтвердить что ты не робот

Базовый веб-сервер с node.js и выражает для обслуживания html файла и активов

Я делаю некоторые эксперименты с интерфейсом, и я бы хотел иметь очень простой веб-сервер, чтобы быстро запустить проект и обслуживать файлы (один файл index.html + некоторые файлы css/js/img). Поэтому я пытаюсь сделать что-то с node.js и выразить, я играл с обоими уже, но на этот раз я не хочу использовать движок рендеринга, так как у меня будет только один статический файл, с этим кодом Я получаю 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);

Есть ли простой способ сделать это (по возможности, в одном файле) или Express требует использования механизма просмотра и рендеринга?

4b9b3361

Ответ 1

Вы можете использовать решение, подобное этому в 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.');

Теперь перейдите к этой папке в вашем терминале и запустите node server.js, это даст вам временный веб-сервер в http://localhost:1337

Ответ 2

Я столкнулся с этим, потому что у меня такая же ситуация. Мне не нужны или как шаблоны. Все, что вы помещаете в public/directory в express, получает статический контент (точно так же, как Apache). Поэтому я поместил там свой index.html и использовал sendfile для обработки запросов без файла (например: GET http://mysite/):

app.get('/', function(req,res) {
  res.sendfile('public/index.html');
});

Ответ 3

Следующий код работал у меня.

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);

загружает страницу с активами