Не могу установить статическую папку express.js - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь установить статическую папку для моего файла index.html и других папок, таких как сценарии css, img и js.но мне не удается установить статическую папку успешно.это мой код app.js:

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


app.use(express.static(path.join(__dirname, 'httpdocs')))
// app.get('/', (req, res) => {
//     res.sendFile('index.html')

// });

const PORT = process.env.PORT || 5000

app.listen(PORT, (err) => {
    if (err) {
        console.log(err);
    }
    console.log(`Listening on port ${PORT}`);

})

мое дерево файлов выглядит следующим образом:

---node/
     ------httpdocs (i want this to be static folder
           ---css/
           ---js/
           ---img/
           --index.html (this file should be loaded when loading the root link)
   ---app.js (nodejs script)

ps: im, используя plesk в Windows, так что, если что-то изменит, скажите мне.

1 Ответ

0 голосов
/ 03 марта 2019

Я вижу, что единственная ошибка находится в нижней строке.

app.use(express.static(__dirname + 'httpdocs'))

Попробуйте распечатать ниже, используя другой метод, используя консоль:

console.log(__dirname+ 'httpdocs');
console.log(path.join(__dirname, 'httpdocs'));

Вывод:

...\nodehttpdocs
...\node\httpdocs

Я надеюсь, что вы получите решение.

Если вы пытаетесь вручную объединить путь, вам нужно добавить разделитель пути '\' извне

Ex: app.use(express.static(__dirname + '\httpdocs'));

Или использовать метод ниже

Ex: app.use(express.static(path.join(__dirname, 'httpdocs')));

Я предлагаю использовать метод path.join.Потому что это добавит разделитель пути в зависимости от операционной системы.Или вам придется управлять вручную.

...