[英]Nodejs: Error: Cannot find module 'html'
我正在使用 nodejs 並且我試圖只提供 html 文件(沒有 jade、ejs ... 引擎)。
這是我的入口點(index.js)代碼:
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() {
});
當我點擊 url "localhost:5000/" 時,這很好,但是當我嘗試類似 "localhost:5000/whatever" 的內容時,我收到以下消息:錯誤:找不到模塊 'html'
我是 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() {
});
僅在使用 jade 或 ejs 等渲染引擎時才使用渲染。 如果您想使用純 HTML,請將其放在公共文件夾中或作為靜態文件使用。
res.sendFile('index2.html', {root : __dirname + '/views'});
首先你需要安裝ejs引擎。 為此,您可以使用以下代碼
npm install ejs
之后,您需要添加應用引擎並設置視圖目錄。
更改后的代碼如下,
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/public');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.listen(app.get('port'), function() {
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.