node.js 变量不会被解析
node.js variables will not be parsed
我是node.js的新人,表达。
在我的测试应用中,html 变量不会被解析。
有什么问题?
server.js
enter var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({
extended : true
}));
app.use(express.static(__dirname));
app.get('/', function(req, res) {
res.render('index', {
wert : 'hallo'
});
});
app.post('/', function(req, res) {
var wert = req.body.wert;
var html = 'Hallo: '+wert+'!\n'
+ '<a href="/">Mach\'s nochmal!</a>';
res.send(html);
});
app.listen(8882);
console.log('Server port: 8882');
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Startseite</title>
</head>
<body>
<p>Hallo <%= wert %>, dies ist mein kleiner Webserver!</p>
<br>
<form action="/" method="post">
<input type="text" width="40" name="wert" value="<%= wert %>">
<input type="submit" value="submit">
</form>
</body>
</html>
视图中的值参数 <%= wert %> 未被解析。
为什么?怎么做?
谢谢
喷射
Express 默认没有视图引擎。您需要添加一个,在您的情况下 EJS.
使用命令行,输入:
npm install ejs
server.js 现在变成:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
app.use(bodyParser.urlencoded({
extended : true
}));
app.use(express.static(__dirname));
app.get('/', function(req, res) {
res.render('index', {
wert: 'hallo'
});
});
app.post('/', function(req, res) {
var wert = req.body.wert;
res.render('index', {
wert: wert
});
});
app.listen(8882);
谢谢本,
您的 ejs
配置不错。
我必须安装 express
、ejs
、body-parser
。没关系。
然后我不得不删除带有 app.use(express.static(__dirname));
的行
我不得不改变
app.set('views', __dirname + '/views');
to
app.set('views', __dirname);
我原来的路径。
然后一切正常!
格瑞兹
喷射
我是node.js的新人,表达。
在我的测试应用中,html 变量不会被解析。 有什么问题?
server.js
enter var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({
extended : true
}));
app.use(express.static(__dirname));
app.get('/', function(req, res) {
res.render('index', {
wert : 'hallo'
});
});
app.post('/', function(req, res) {
var wert = req.body.wert;
var html = 'Hallo: '+wert+'!\n'
+ '<a href="/">Mach\'s nochmal!</a>';
res.send(html);
});
app.listen(8882);
console.log('Server port: 8882');
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Startseite</title>
</head>
<body>
<p>Hallo <%= wert %>, dies ist mein kleiner Webserver!</p>
<br>
<form action="/" method="post">
<input type="text" width="40" name="wert" value="<%= wert %>">
<input type="submit" value="submit">
</form>
</body>
</html>
视图中的值参数 <%= wert %> 未被解析。 为什么?怎么做?
谢谢 喷射
Express 默认没有视图引擎。您需要添加一个,在您的情况下 EJS.
使用命令行,输入:
npm install ejs
server.js 现在变成:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
app.use(bodyParser.urlencoded({
extended : true
}));
app.use(express.static(__dirname));
app.get('/', function(req, res) {
res.render('index', {
wert: 'hallo'
});
});
app.post('/', function(req, res) {
var wert = req.body.wert;
res.render('index', {
wert: wert
});
});
app.listen(8882);
谢谢本,
您的 ejs
配置不错。
我必须安装 express
、ejs
、body-parser
。没关系。
然后我不得不删除带有 app.use(express.static(__dirname));
我不得不改变
app.set('views', __dirname + '/views');
to
app.set('views', __dirname);
我原来的路径。
然后一切正常!
格瑞兹 喷射