为了账号安全,请及时绑定邮箱和手机立即绑定

错误:未指定默认引擎且未提供扩展。

错误:未指定默认引擎且未提供扩展。

翻阅古今 2021-08-26 16:39:12
我看到了很多具有相同标题的问题,它们确实在某种程度上帮助了我,但我实际上从未摆脱过这个错误。对于您的背景信息,我创建了一个名为 listing.js 的文件作为运行 node 命令的平台。我试图通过listing.js使用node.js来提供名为weatha-picka.html的网页及其外部组件,包括weatha-picka.js和weatha-picka.css。这是上面提到的 3 个文件的文件夹树:以下是我在listing.js 中编写的用于启动服务器的内容:// Module dependencies var application_root = __dirname,path = require( 'path' ); express = require( 'express' ); // Creating server // var app = express();  // Configurating the server   app.get('/', function (req, res) {  res.render('index', {});});  app.use( express.static( path.join( application_root, 'site')));  // Starting the server app.listen(3500, () => {console.log("hold my Mac")}); 尽管我之前尝试过类似中间件body-parser,但错误消息在localhost:3500.错误:未指定默认引擎且未提供扩展。在 ServerResponse 的 Function.render (/Users/quanvihong/node_modules/express/lib/application.js:570:12) 处的新视图 (/Users/quanvihong/node_modules/express/lib/view.js:61:11)。渲染 (/Users/quanvihong/node_modules/express/lib/response.js:1012:7) at /Users/quanvihong/Desktop/Weathers/server/listing.js:11:7 at Layer.handle [as handle_request] (/ Users/quanvihong/node_modules/express/lib/router/layer.js:95:5) 在下一个 (/Users/quanvihong/node_modules/express/lib/router/route.js:137:13) 在 Route.dispatch (/ Users/quanvihong/node_modules/express/lib/router/route.js:112:3) 在 Layer.handle [as handle_request] (/Users/quanvihong/node_modules/express/lib/router/layer.js:95:5)在/Users/quanvihong/node_modules/express/lib/router/index.js:总而言之,亟待解决的问题是错误是否来自过于简单listing.js或文件层次结构?我对 nodejs 很陌生,所以任何建议和建议将不胜感激。
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

我没有看到任何index服务器渲染视图。尝试创建一个index.html作为您的主页并在listing.js.


app.get('/', (req, res) => {

    res.sendFile(__dirname + '/index.html');

});

如果你想weatha-picka.html作为一个静态页面,只需像这样返回它:


app.get('/weatha-picka', (req, res) => {

    res.sendFile(__dirname + '/weatha-picka.html');

});

此外,如果您想创建更多视图 as weatha-picka,请尝试使用ejs模板模块。下面是 ejs 和 express 的示例。


在listing.js:


const express = require('express');


var app = express(); 


app.set('view engine', 'ejs');

app.set('views', path.join(__dirname, './public')); // ejs engine looks for ejs files in public folder


app.get('/weatha-picka', function (req, res) {

  res.render('weatha-picka', {});

});  

在/public文件夹中,创建weatha-picka.ejs模板文件:


<html>

<head>

    <title>EJS template</title>

    <meta charset="utf-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1">

</head>

<body>


    <!-- Use ejs template and html here -->


</body>

</html>


查看完整回答
反对 回复 2021-08-26
  • 1 回答
  • 0 关注
  • 263 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信