2017-02-20 5 views
0

Имеет некоторые проблемы с выражением, я не могу служить статическими файлами. Если я:ExpressJS Static не работает

app.use('/*', express.static(DIST_FILEPATH)); 

это дает мне 301 или что-то, в основном не находит файл (я пробовал в режиме инкогнито и избежать чеканка/все выпуски).

Но по какой-то причине, если я делаю:

app.use('/*', function (req, res, next) { 
    console.log(req.originalUrl); 
    console.log(DIST_FILEPATH); 
    res.sendFile(path.join(DIST_FILEPATH, req.originalUrl)); 
}); 

Он работает просто отлично, и оба пути являются правильными. Почему это происходит и как я могу его решить?

Экспресс версия: 4.14.1

+0

Вам не нужно указывать путь маршрута для статического использования файлов, просто используйте: 'app.use (express.static (DIST_FILEPATH));' – mscdex

+0

@mscdex У меня есть 3 статических пути к файлам (узловые модули, общедоступные и dist), но добавление dist без пути в конце может работать: -? – user1640736

+0

Да, вам просто нужно использовать 'app.use (express.static (DIST_FILEPATH));' и это будут только файлы с сервером. –

ответ

0

Ваш вопрос в том, что у вас есть синтаксис немного выключен. Что вы можете сделать, если хотите только статические файлы сервера, то используйте app.use(express.static(path.join(__dirname)));, а затем, когда вы переходите на http://localhost:3000/, вы можете добавить такие вещи, как index.html, чтобы вы могли видеть ваш файл html. Вот пример простого экспресс-сервера, который обслуживает статические файлы:

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

app.set('port', 3000); 


app.use(express.static(path.join(__dirname))); //here you can change your path. for example you could add + 'public' if all of your files where in the 'public' directory 

var server = app.listen(app.get('port'), function() { 
    var port = server.address().port; 
}); 

Вы можете запустить с node <filename>.js тогда просто перейдите http://localhost:3000/index.html или http://localhost:3000/myMusicFile.mp3, например.

надеюсь, что это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^