Nodejs:错误:找不到模块'html' [英] Nodejs: Error: Cannot find module 'html'
问题描述
我使用nodejs和im尝试只提供html文件(没有玉,ejs ...引擎)。 :
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.set('port',(process.env.PORT || 5000));
app.use(express.static(__ dirname +'/ public'));
app.use(bodyParser.urlencoded({
extended:true
}));
app.use(bodyParser.json());
app.use(express.static(__ dirname +'/ public'));
app.get('*',function(req,res){
res.render('index.html');
});
app.listen(app.get('port'),function(){
});
当我点击urllocalhost:5000 /时,这样做很好,但是当我尝试像localhost:5000 / whatever我收到以下消息:
错误:找不到模块'html'
im new to nodejs,但是我希望所有路由呈现 index.html
文件。我该怎么办?
谢谢。
您需要指定您的视图文件夹并将引擎解析为HTML。
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.set('port',(process.env.PORT || 5000));
app.use(express.static(__ dirname +'/ public'));
app.set('views',__dirname +'/ public / views');
app.engine('html',require('ejs')。renderFile);
app.set('view engine','html');
app.use(bodyParser.urlencoded({
extended:true
}));
app.use(bodyParser.json());
app.get('*',function(req,res){
res.render('index.html');
});
app.listen(app.get('port'),function(){
});
im using nodejs and im trying to serve only html files (no jade, ejs ... engines).
heres my entry point (index.js) code:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res){
res.render('index.html');
});
app.listen(app.get('port'), function() {
});
This is doing just fine when i hit the url "localhost:5000/", but when i try something like "localhost:5000/whatever" i got the following message: Error: Cannot find module 'html'
im new to nodejs, but i want all routes to render the index.html
file. How can i do that ???
Thank you.
You need to specify your view folder and parse the engine to HTML.
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/public/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.get('*', function(req, res){
res.render('index.html');
});
app.listen(app.get('port'), function() {
});
这篇关于Nodejs:错误:找不到模块'html'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!