Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js和express restful API崩溃,错误为:ECONNRESET|_Javascript_Node.js_Rest_Api_Express - Fatal编程技术网

Javascript node.js和express restful API崩溃,错误为:ECONNRESET|

Javascript node.js和express restful API崩溃,错误为:ECONNRESET|,javascript,node.js,rest,api,express,Javascript,Node.js,Rest,Api,Express,我在node.js和express上的API上有两条路由路径,但是这个API在24小时内崩溃了一次。 我不确定到底是什么问题,但我能举例说明如何解决这个问题吗 我的代码: // Create express app var express = require("express") var app = express() var mysql = require('mysql') var express = require("express") var cors = require('cors')

我在node.js和express上的API上有两条路由路径,但是这个API在24小时内崩溃了一次。 我不确定到底是什么问题,但我能举例说明如何解决这个问题吗

我的代码:

// Create express app
var express = require("express")
var app = express()
var mysql = require('mysql')
var express = require("express")
var cors = require('cors')

app.use(cors())

// Server port
var HTTP_PORT = 8000

var con = mysql.createConnection({
  host: "192.168.0.1",
  port: "1234",
  user: "username",
  password: "pass"
});

var aladinModel = '';
var aladinModelStations = '';

function formatDate(date) {
  var d = new Date(date),
      month = '' + (d.getMonth() + 1),
      day = '' + d.getDate(),
      year = d.getFullYear();

  if (month.length < 2) 
      month = '0' + month;
  if (day.length < 2) 
      day = '0' + day;

  return [year, month, day].join('-');
}

var dateNow = formatDate(Date());

app.route('/')
  .get(function (req, res) {
    // omitted
    res.setHeader('Access-Control-Allow-Origin', '*', 'Cache-Control', 'private, no-cache, no-store, must-revalidate');
    //const date = req.query.date;
    const id = req.query.id;
    const daysForward = req.query.daysForward;

      const query = `CALL Get_mod_cell_values_meteogram_cell('${dateNow}', ${id}, ${daysForward})`;
      con.query(query, function (err, result, fields) {
        if (err) 
        return res.status(500).json({ error: "Грешна заявка. Опитай отново !"})
        aladinModel = result;
        res.json({ aladinModel })
      });
  });

app.route('/stations')
  .get(function (req, res) {
    // omitted
    res.setHeader('Access-Control-Allow-Origin', '*', 'Cache-Control', 'private, no-cache, no-store, must-revalidate');
    const id2 = req.query.id2;
      const query2 = `SELECT Station,Ime FROM stations_cells WHERE Station=${id2}`;
      con.query(query2, function (err, result2, fields) {
        if (err) 
        return res.status(500).json({ error: "Грешна заявка. Опитай отново !"})
        aladinModelStations = result2;
        res.json({ aladinModelStations })
      })
  });

  // Start server
app.listen(HTTP_PORT, () => {
  console.log("Server running on port %PORT%".replace("%PORT%", HTTP_PORT))
});

con.on('error', function(err) {
  console.log(err.code); // 'ER_BAD_DB_ERROR'
});

app.use(function (req, res) {
  res.status(404);
});
//创建express应用程序
var express=需要(“express”)
var app=express()
var mysql=require('mysql')
var express=需要(“express”)
var cors=require('cors')
app.use(cors())
//服务器端口
var HTTP_端口=8000
var con=mysql.createConnection({
主机:“192.168.0.1”,
端口:“1234”,
用户:“用户名”,
密码:“通过”
});
var aladinModel='';
var aladinModelStations='';
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)
月份='0'+月份;
如果(日长<2)
天='0'+天;
返回[年、月、日]。加入('-');
}
var dateNow=formatDate(Date());
应用程序路径(“/”)
.get(函数(请求、恢复){
//省略
res.setHeader('Access-Control-Allow-Origin'、'*'、'Cache-Control'、'private、no-Cache、no-store,必须重新验证');
//const date=req.query.date;
const id=req.query.id;
const daysForward=req.query.daysForward;
const query=`CALL Get_mod_cell_values_metegram_cell(${dateNow},${id},${daysForward})`;
con.query(查询、函数(错误、结果、字段){
如果(错误)
返回res.status(500).json({错误:“ГПззззаа.Пааааааааа107
阿拉丁模型=结果;
res.json({aladinModel})
});
});
应用程序路线(“/站点”)
.get(函数(请求、恢复){
//省略
res.setHeader('Access-Control-Allow-Origin'、'*'、'Cache-Control'、'private、no-Cache、no-store,必须重新验证');
const id2=req.query.id2;
const query2=`从stations_单元格中选择Station,Ime,其中Station=${id2}`;
con.query(query2,函数(err,result2,字段){
如果(错误)
返回res.status(500).json({错误:“ГПззззаа.Пааааааааа107
aladinModelStations=result2;
res.json({aladinModelStations})
})
});
//启动服务器
app.listen(HTTP_端口,()=>{
log(“在端口%port%上运行的服务器。替换(“%port%”,HTTP_端口))
});
con.on('error',函数(err){
console.log(err.code);/'ER\u BAD\u DB\u ERROR'
});
应用程序使用(功能(请求、恢复){
物质状态(404);
});

目前,他没有崩溃,只是在终端EconReset中保持在线,但在收到此消息后API不工作。

您正在使用pm2Is mysql实例并运行吗?如果您在mysql实例中找不到任何问题,请尝试重新启动运行此脚本的服务?n1rna-我重启500次,不为我工作!我的NPM版本是6.13.1我的节点版本是12.13.1对不起,这里是正确的URL:@PizhevRacing基本上你需要通过流程管理器运行应用程序。我建议PM2: