Модуль не найден ошибка - NodeJS Express.JS - PullRequest
0 голосов
/ 18 октября 2018

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

Хотя, когда я пытаюсь выполнить код какотображается ниже, я получаю ошибку.

Ошибка:

Error: Cannot find module 'html'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at new View (/Applications/XAMPP/xamppfiles/htdocs/controlpanel/node_modules/express/lib/view.js:81:14)
    at Function.render (/Applications/XAMPP/xamppfiles/htdocs/controlpanel/node_modules/express/lib/application.js:570:12)
    at ServerResponse.render (/Applications/XAMPP/xamppfiles/htdocs/controlpanel/node_modules/express/lib/response.js:1008:7)
    at /Applications/XAMPP/xamppfiles/htdocs/controlpanel/server.js:14:9
    at Layer.handle [as handle_request] (/Applications/XAMPP/xamppfiles/htdocs/controlpanel/node_modules/express/lib/router/layer.js:95:5)
    at next (/Applications/XAMPP/xamppfiles/htdocs/controlpanel/node_modules/express/lib/router/route.js:137:13)

Код:

var express = require('express');
var session = require('express-session');
var app     = express();

app.use('/public', express.static('public'));
app.use( express.static('public/html') );

app.post('/', function(req, res, next) {
    console.log('start processing postdata...');
    next()
});

app.all('/', function(req, res) {
    res.render('html/index.html');
});

app.listen(2222);

Все отлично работает для метода GET.Только POST-запрос вызывает эту ошибку.

Что я делаю не так?

Заранее спасибо,
Laurens

1 Ответ

0 голосов
/ 18 октября 2018

Вот рабочий код, вместо рендеринга вы должны использовать sendFile.Визуализация была использована с представлениями.

'use strict';
let express = require('express');
// let session = require('express-session');
let app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use('/public', express.static('public'));
app.use(express.static('public/html'));

app.post('/', function (req, res, next) {
    console.log('start processing post data...');
    next();
});

app.all('/', function (req, res) {
    res.sendFile('./index.html', {
        root: __dirname + '/public/html'
    });
});

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