Как мне заставить мой веб-сервер обслуживать и мой файл html, и файл js, созданный через веб-пакет? - PullRequest
1 голос
/ 18 февраля 2020

Я пытаюсь написать веб-сервер, который будет обслуживать приложение реакции, которое я создаю с помощью веб-пакета, но у меня возникла проблема, связанная с файлом html и файлом js, который имеет очень простую реакцию приложение, которое я написал.

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

<html>
    <body>
        <div id="root" />
        <script src="./dist/main.js"></script>
    </body>
</html>

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

Для некоторого большего контекста, мое приложение реагирования открывается, когда Я открываю его через локальный путь в своем браузере и проверил, что мой веб-сервер обслуживает очень простые html файлы.

Заранее большое спасибо!

1 Ответ

0 голосов
/ 18 февраля 2020

Попробуйте использовать express. js и создайте все необходимые папки c (вам может понадобиться 1, если все в одной главной папке) (я назвал mines publi c и dist) затем

const express = require('express');
const app = express();
app.use(express.static("./public"));
app.use(express.static("./dist"));
app.listen(1299, () => {});

РЕДАКТИРОВАТЬ: Если вам нужен более грубый способ, вам нужно больше улучшений, таких как обработка ошибок MIME-типов et c.


var http = require('http');
const fs = require("fs");
const pathUtils = require("path");

//create a server object:
http.createServer(function(req, res) {
    var path1 = pathUtils.resolve(__dirname, "public") + req.url.replace(/\//g, "\\");
    fs.exists(path1, (exists) => {
        if (exists) {
            fs.readFile(path1, "utf8", (error, content) => {
                if (content)
                    res.write(content);
                else if (error)
                    res.write(error)
                res.end();
            })
        } else {
            res.write("NotFound");
            res.end();
        }
    })
    console.log(path1);

}).listen(8080);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...