【发布时间】:2017-11-12 22:32:44
【问题描述】:
我正在做一个小型 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;
抱歉,有些命令是德语的。我认为理解这些基本代码并不重要。 感谢您的帮助。
编辑: 这是控制台日志和进入第二页时的错误消息: (body 连接了一个 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
【问题讨论】:
-
你能把打开第二页时出现的错误贴出来吗?
-
发布了完整的控制台日志。
标签: javascript html node.js express server