错误:没有指定默认引擎,也没有提供扩展名。 简单的路由

我正在一个小型的web项目上工作,并尝试与node.js&express中的基本路由相处。 服务器启动正常,并显示所有的网站,但当转到第二页加载一些(简单)的服务器数据发生错误。

服务器代码:

const express = require('express'); //importiert express modul const app = express(); //und bildet eine Express-Application const server = require('http').createServer(app);//importiert http modul und bildet Server /* die dateien (bilder, skripte, css und html dokumente (public ordner)) werden statisch aus dem jeweiligen Verzeichnis geladen kann später so "GET localhost/style.css" aufgerufen werden */ app.use(express.static(__dirname + '/public')); app.use('/img', express.static(__dirname + '/public/images')); app.use('/javascript', express.static(__dirname + '/public/javascripts')); app.use('/css', express.static(__dirname + '/public/stylesheets')); /* So wird die index.html Datei beim Zugriff auf den Server (http://127.0.0.1:1337/) ausgegeben Die index.html wird beim Zugriff auf den Server ausgegeben */ app.get('/', function (req, res) { res.sendfile(__dirname + '/public/index.html'); }); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); module.exports = app; //Server auf port 1337 server.listen(1337); console.log('Der Server läuft nun unter http://127.0.0.1: 1337'); 

在路由文件夹中路由代码

 var express = require('express'); var router = express.Router(); var jsondata = "DATA"; /* GET home page. */ router.get('/api/alleAssets', function(req, res, next) { console.log('Ich bin in der Methode'); res.send({bla :'bla'}) }); module.exports = router; 

对不起,有些德语指令。 我认为他们理解这样的基本代码是不重要的。 谢谢你的帮助。

编辑:这是控制台日志和进行第二页时出现错误消息:(正文连接到一个onload函数)

 > peasec@0.0.0 start C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec > node ./bin/www Der Server läuft nun unter http://127.0.0.1: 1337 Error: No default engine was specified and no extension was provided. at new View (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\view.js:61:11) at Function.render (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\application.js:570:12) at ServerResponse.render (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\response.js:971:7) at C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\app.js:41:7 at Layer.handle_error (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\router\layer.js:71:5) at trim_prefix (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\router\index.js:315:13) at C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\router\index.js:284:7 at Function.process_params (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\router\index.js:335:12) at next (C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\node_modules\express\lib\router\index.js:275:10) at C:\Users\Tim\Documents\University\UIP\PearSecExpress\PearSec\peasec\app.js:30:3 

你需要设置一个模板引擎来渲染页面。 模板引擎的示例是Jade,EJS等。下面的代码行将您的模板引擎设置为EJS,并使用它来呈现HTML内容。

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

使用EJS作为模板引擎需要你的公共文件是.ejs扩展名。 以下链接将帮助您了解EJS的工作原理。 https://scotch.io/tutorials/use-ejs-to-template-your-node-application

给它一个镜头,让我知道如果它的工作与否。

编辑:

忘了提及,只有在HTML页面中使用dynamic内容时才需要EJS。 如果你有一个静态页面,你可以简单地发送该静态页面的path。

 res.sendFile('/path/to/page.html');