找不到模块错误-NodeJS Express.JS

时间:2018-10-18 12:40:34

标签: node.js express

我正在尝试从表单中捕获帖子数据,当我完成处理后,我希望它再次呈现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请求导致此错误。

我在做什么错了?

预先感谢,
劳伦斯

1 个答案:

答案 0 :(得分:1)

这是工作代码,如果渲染,则应使用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);
相关问题