[英]See Node-js value in HTML
我想在 html 文件中查看 Node-js 值。 我使用了一个叫做pug
的引擎。
应用程序.js:
const express=require('express');
const app=express();
var bodyParser = require('body-parser');
app.set('views','views');
app.set('view engine', 'pug');
app.use(bodyParser.urlencoded({extended:false}));
app.get('/', function(q,r){
r.render('index', { dataFromServer: 'Alireza'});
});
app.listen(8081,err => {
console.log('Example app listening on port 8081!');
});
索引.pug:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body></body>
<script>
var data = <%= dataFromServer %>
alert(data)
</script>
</html>
我的app.js
在以下路径中:
E:\\Engine\\app.js
index.pug
在:
E:\\Engine\\views
模块位于:
E:\\Engine\\node_modules
但是每当我请求相关端口时都会发生以下错误:
Error: Failed to lookup view "index" in views directory "views"
at Function.render (E:\Engine\node_modules\express\lib\application.js:580:17)
at ServerResponse.render (E:\Engine\node_modules\express\lib\response.js:1012:7)
at E:\Engine\app.js:10:4
at Layer.handle [as handle_request] (E:\Engine\node_modules\express\lib\router\layer.js:95:5)
at next (E:\Engine\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\Engine\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\Engine\node_modules\express\lib\router\layer.js:95:5)
at E:\Engine\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\Engine\node_modules\express\lib\router\index.js:335:12)
at next (E:\Engine\node_modules\express\lib\router\index.js:275:10)
每当我更换引擎时,这个问题就会重复出现。 例如,我也使用了ejs
。 我多次更改了views
文件的路径,但是我的新路径再次重复了该错误。 请帮助初学者。
该错误似乎表明它正在尝试在某个名为views
目录中查找index.pug
你是想打localhost:8081/index
还是只是localhost:8081
? 在这种情况下,我认为您只想点击/
(localhost:8081) 来获取index.pug
。
另外,代替app.set('views', 'views);
,你可能想要app.set('views', path.join(__dirname, 'views'));
这是这个答案的重复吗? 尝试使用:
app.set('views', path.join(__dirname, 'views'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.