@Richswitch
junior

Как можно вставить html в виде строки в конкретное место функции с помощью Webpack?

Привет!
Подскажите пожалуйста, как это можно сделать...

Есть файл с функцией, которая отправляет html разметку в корень сайта с помощью библиотеки express.js

module.exports.index = function (req, res) {
  res.send(`
    <html>
      <head>
        <title>Title</title>
      </head>
      <h1>Hello world!</h1>
    </html>
    `);
};

Я хочу чтобы разметка html, которую я верстаю в отдельном файле ./src/pages/index.html после сохранения проекта добавлялась в функцию

function (req, res) { 
res.send('myHTML'); 
}


В голову приходит только написать HTML и присвоить его какому-то аргументу, этот аргумент экспортировать и добавить в функцию указанную выше.

PS Надеюсь так понятно объяснил :)
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
@amokrushin
Например так (если добавить еще обработку ошибок, как минимум 404):
const fs = require('fs');

module.exports.index = function (req, res, next) {
    fs.createReadStream('./src/pages/index.html').on('error', next).pipe(res);
});

Но лучше использовать модуль express.static, еще лучше оставить статику веб-серверу nginx.

Если же речь не об этом, а, например, о том как в скрипте используемом в процессе сборки с помощью webpack получить html в виде строки, то можно использовать webpack raw-loader
import htmlString from 'raw-loader!./src/pages/index.html';
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы