Генерация файлов c html с сервера express - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть nodejs веб-проект, работающий с express - js и e js. После этого мне стало понятно, что на Netlify можно размещать все файлы c html вместо приложения nodejs на Heroku. Действительно, данные меняются только каждый месяц, поэтому мне нужно построить раз в месяц. Таким образом, это будет лучший вариант хостинга по цене.

Есть ли способ (npm пакет, действие GitHub, ...) для компиляции всего express сервера + e js приложение в папку с файлами stati c html / css для размещения на Netlify?

Я давно искал и не смог найти решение моей проблемы.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 12 апреля 2020

Вы можете l oop пройти по всем маршрутам и выполнить app.render для каждого из них, а затем сохранить результаты в файле.

Пример кода:

//express server should be started before this 

const fs = require('fs')

['/', '/about', '/contact'].forEach( path => {

    app.render(path, {
        // optional metadata here
        }, (err, res) =>{
        if (err)
            console.log('Error rendering ' + path, err)
        else {
            fs.writeFile(__dirname + '/public/' + path + '.html', res, function(err, res) {
                if (err)
                    console.log('error saving html file', path, err)
            })
        }
    })

})
...