繁体   English   中英

在 HTML 中查看 Node-js 值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM