Я получаю сообщение об ошибке при подключении к серверу узла js (angularjs, nodejs, mysql connection) - PullRequest
1 голос
/ 21 сентября 2019
Error: Failed to lookup view "app/rooms" in views directory "E:\Angular\project1\views"
    at Function.render (E:\Angular\project1\node_modules\express\lib\application.js:580:17)
    at ServerResponse.render (E:\Angular\project1\node_modules\express\lib\response.js:1012:7)
    at Query.<anonymous> (E:\Angular\project1\server.js:30:13)
    at Query.<anonymous> (E:\Angular\project1\node_modules\mysql\lib\Connection.js:525:10)
    at Query._callback (E:\Angular\project1\node_modules\mysql\lib\Connection.js:491:16)
    at Query.Sequence.end (E:\Angular\project1\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24)
    at Query._handleFinalResultPacket (E:\Angular\project1\node_modules\mysql\lib\protocol\sequences\Query.js:139:8)
    at Query.EofPacket (E:\Angular\project1\node_modules\mysql\lib\protocol\sequences\Query.js:123:8)
    at Protocol._parsePacket (E:\Angular\project1\node_modules\mysql\lib\protocol\Protocol.js:291:23)
    at Parser._parsePacket (E:\Angular\project1\node_modules\mysql\lib\protocol\Parser.js:433:10)

В каталоге у меня нет папки типа "views", есть только файл src и другие файлы json, node.Если кто-нибудь знает лучший способ подключения к серверу, пожалуйста, сообщите мне (любые ссылки)

--------------------- ЭТО КОД, ИСПОЛЬЗУЕМЫЙПОДКЛЮЧЕНИЕ СЕРВЕРА --------------

var express = require('express');
var http = require('http');
var mysql = require('mysql');
var app = express();
var bodyParser = require('body-parser');


app.use(bodyParser.urlencoded({extended: true}));

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

app.use('/js',express.static(__dirname + '/node_modules/bootstrap/dist/js'));
app.use('/js',express.static(__dirname + '/node_modules/tether/dist/js'));
app.use('/js',express.static(__dirname + '/node_modules/jquery/dist'));
app.use('/css',express.static(__dirname + '/node_modules/bootstrap/dist/css'));
app.engine('html', require('ejs').renderFile);

const con = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "mydb"
});

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

   con.query("SELECT * FROM rooms ",function (err,result){
       res.render('app/rooms',{
          pageTitle: "Rooms List",
          items: result
       });
   });
});


var server = app.listen(4200,function(){
     console.log("Server started on 4200.....");
})

1 Ответ

0 голосов
/ 22 сентября 2019

Из того, что я вижу здесь, вы уже настраиваете движок представления для отображения вашего представления с сервера.Но вы сказали, что используете Angular.Так что вам не нужно настраивать режим просмотра.Эти два кода должны быть удалены.За исключением того, что вы выполняете рендеринг на сервере, с помощью которого вы хотите использовать то, что для рендеринга вашей страницы с сервера, если так, вам потребуется папка просмотра.

app.set ('view engine', 'html');app.engine ('html', require ('ejs'). renderFile);

Но если вы не выполняете ничего похожего на рендеринг сервера, просто удалите код, относящийся к представлению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...