【问题标题】:I'm getting error while connecting to node js server(angularjs,nodejs,mysql connection)连接到节点 js 服务器时出现错误(angularjs、nodejs、mysql 连接)
【发布时间】:2020-01-22 07:56:21
【问题描述】:
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.....");
})

【问题讨论】:

  • 你检查目录“E:\Angular\project1\views”的内容了吗???
  • 您能否添加更多描述,您在做什么,场景是什么......等等。请看“如何提问”:stackoverflow.com/help/how-to-ask
  • 感谢您的推荐,我更新了一些细节@yazantahhan

标签: mysql node.js angularjs


【解决方案1】:

据我在这里看到的,您已经设置了一个视图引擎来从服务器呈现您的视图。但是你说你正在使用 Angular。所以你不需要设置视图引擎。 这两个代码应该删除。除非您正在执行服务器渲染,否则您想使用从服务器渲染页面的内容,如果是这样,您将需要一个视图文件夹。

app.set('视图引擎','html'); app.engine('html', require('ejs').renderFile);

但是如果你不做任何像服务器渲染这样的事情,只需删除那些与视图相关的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    相关资源
    最近更新 更多