Javascript 如何合并两个文件API(Node.js)

Javascript 如何合并两个文件API(Node.js),javascript,mysql,node.js,Javascript,Mysql,Node.js,我是node.js和MySQL的初学者,我刚刚开始设置和尝试一些基本代码。 我发现这两个API需要实践,一个是CRUD数据库的API,另一个是判断用户登录/注册的API。我尝试合并这两个文件的API,结果出现了问题。我认为当前的问题是配置文件(conf.js)。我计划编写一个函数,然后包装任何文件并再次使用,这样配置文件可能不会冲突,但我不知道如何启动 这是我练习的两个API教学URL index.js var express = require("express"); var bodyPa

我是node.js和MySQL的初学者,我刚刚开始设置和尝试一些基本代码。 我发现这两个API需要实践,一个是CRUD数据库的API,另一个是判断用户登录/注册的API。我尝试合并这两个文件的API,结果出现了问题。我认为当前的问题是配置文件(conf.js)。我计划编写一个函数,然后包装任何文件并再次使用,这样配置文件可能不会冲突,但我不知道如何启动

这是我练习的两个API教学URL

index.js

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var authenticateController = require("./controllers/authenticate-controller");
var registerController = require("./controllers/register-controller");

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

app.post("/api/register", registerController.register);
app.post("/api/authenticate", authenticateController.authenticate);
app.listen(3000);
var bodyparser = require("body-parser"); 
var express = require("express");

var conf = require("./conf");
var functions = require("./functions");
var user = require("./routes/user");

var app = express();

req.body
app.use(bodyparser.urlencoded({ extended: false }));
app.use(bodyparser.json());

//app.use(functions.passwdCrypto);
app.use("/user", user);

app.listen(conf.port, function() {
  console.log("app listening on port " + conf.port + "!");
});
var connection = require('./../conf');
module.exports.authenticate=function(req,res){
    var email=req.body.email;
    var password=req.body.password;
    connection.query('SELECT * FROM user WHERE email = ?',[email], function (error, results, fields) {
      if (error) {
          res.json({
            status:false,
            message:'there are some error with query'
            })
      }else{
        if(results.length >0){
            if(password==results[0].password){
                res.json({
                    status:true,
                    message:'successfully authenticated'
                })
            }else{
                res.json({
                  status:false,
                  message:"Email and password does not match"
                 });
            }

        }
        else{
          res.json({
              status:false,    
            message:"Email does not exits"
          });
        }
      }
    });
}
var connection = require('../conf');
module.exports.register=function(req,res){
    var today = new Date();
    var user={
        "name":req.body.name,
        "email":req.body.email,
        "password":req.body.password,
        "created_at":today,
        "updated_at":today
    }
    connection.query('INSERT INTO user SET ?',user, function (error, results, fields) {
      if (error) {
        res.json({
            status:false,
            message:'there are some error with query'
        })
      }else{
          res.json({
            status:true,
            data:results,
            message:'user registered sucessfully'
        })
      }
    });
}
var mysql = require("mysql");
var connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "farmbot",
});

connection.connect(function(err) {
  if (!err) {
    console.log("Database is connected");
  } else {
    console.log("Error while connecting with database");
  }
});
module.exports = connection;

/*If I comment out the code below, I can execute the login / register API*/
/*Without commenting out, can only perform CRUD on the database*/
module.exports = {
  db: {
    host: "localhost",
    user: "root",
    password: "1234",
    database: "farmbot"
  },
  port: 3000
};
app.js

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var authenticateController = require("./controllers/authenticate-controller");
var registerController = require("./controllers/register-controller");

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

app.post("/api/register", registerController.register);
app.post("/api/authenticate", authenticateController.authenticate);
app.listen(3000);
var bodyparser = require("body-parser"); 
var express = require("express");

var conf = require("./conf");
var functions = require("./functions");
var user = require("./routes/user");

var app = express();

req.body
app.use(bodyparser.urlencoded({ extended: false }));
app.use(bodyparser.json());

//app.use(functions.passwdCrypto);
app.use("/user", user);

app.listen(conf.port, function() {
  console.log("app listening on port " + conf.port + "!");
});
var connection = require('./../conf');
module.exports.authenticate=function(req,res){
    var email=req.body.email;
    var password=req.body.password;
    connection.query('SELECT * FROM user WHERE email = ?',[email], function (error, results, fields) {
      if (error) {
          res.json({
            status:false,
            message:'there are some error with query'
            })
      }else{
        if(results.length >0){
            if(password==results[0].password){
                res.json({
                    status:true,
                    message:'successfully authenticated'
                })
            }else{
                res.json({
                  status:false,
                  message:"Email and password does not match"
                 });
            }

        }
        else{
          res.json({
              status:false,    
            message:"Email does not exits"
          });
        }
      }
    });
}
var connection = require('../conf');
module.exports.register=function(req,res){
    var today = new Date();
    var user={
        "name":req.body.name,
        "email":req.body.email,
        "password":req.body.password,
        "created_at":today,
        "updated_at":today
    }
    connection.query('INSERT INTO user SET ?',user, function (error, results, fields) {
      if (error) {
        res.json({
            status:false,
            message:'there are some error with query'
        })
      }else{
          res.json({
            status:true,
            data:results,
            message:'user registered sucessfully'
        })
      }
    });
}
var mysql = require("mysql");
var connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "farmbot",
});

connection.connect(function(err) {
  if (!err) {
    console.log("Database is connected");
  } else {
    console.log("Error while connecting with database");
  }
});
module.exports = connection;

/*If I comment out the code below, I can execute the login / register API*/
/*Without commenting out, can only perform CRUD on the database*/
module.exports = {
  db: {
    host: "localhost",
    user: "root",
    password: "1234",
    database: "farmbot"
  },
  port: 3000
};
authenticate controller.js

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var authenticateController = require("./controllers/authenticate-controller");
var registerController = require("./controllers/register-controller");

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

app.post("/api/register", registerController.register);
app.post("/api/authenticate", authenticateController.authenticate);
app.listen(3000);
var bodyparser = require("body-parser"); 
var express = require("express");

var conf = require("./conf");
var functions = require("./functions");
var user = require("./routes/user");

var app = express();

req.body
app.use(bodyparser.urlencoded({ extended: false }));
app.use(bodyparser.json());

//app.use(functions.passwdCrypto);
app.use("/user", user);

app.listen(conf.port, function() {
  console.log("app listening on port " + conf.port + "!");
});
var connection = require('./../conf');
module.exports.authenticate=function(req,res){
    var email=req.body.email;
    var password=req.body.password;
    connection.query('SELECT * FROM user WHERE email = ?',[email], function (error, results, fields) {
      if (error) {
          res.json({
            status:false,
            message:'there are some error with query'
            })
      }else{
        if(results.length >0){
            if(password==results[0].password){
                res.json({
                    status:true,
                    message:'successfully authenticated'
                })
            }else{
                res.json({
                  status:false,
                  message:"Email and password does not match"
                 });
            }

        }
        else{
          res.json({
              status:false,    
            message:"Email does not exits"
          });
        }
      }
    });
}
var connection = require('../conf');
module.exports.register=function(req,res){
    var today = new Date();
    var user={
        "name":req.body.name,
        "email":req.body.email,
        "password":req.body.password,
        "created_at":today,
        "updated_at":today
    }
    connection.query('INSERT INTO user SET ?',user, function (error, results, fields) {
      if (error) {
        res.json({
            status:false,
            message:'there are some error with query'
        })
      }else{
          res.json({
            status:true,
            data:results,
            message:'user registered sucessfully'
        })
      }
    });
}
var mysql = require("mysql");
var connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "farmbot",
});

connection.connect(function(err) {
  if (!err) {
    console.log("Database is connected");
  } else {
    console.log("Error while connecting with database");
  }
});
module.exports = connection;

/*If I comment out the code below, I can execute the login / register API*/
/*Without commenting out, can only perform CRUD on the database*/
module.exports = {
  db: {
    host: "localhost",
    user: "root",
    password: "1234",
    database: "farmbot"
  },
  port: 3000
};
register controller.js

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var authenticateController = require("./controllers/authenticate-controller");
var registerController = require("./controllers/register-controller");

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

app.post("/api/register", registerController.register);
app.post("/api/authenticate", authenticateController.authenticate);
app.listen(3000);
var bodyparser = require("body-parser"); 
var express = require("express");

var conf = require("./conf");
var functions = require("./functions");
var user = require("./routes/user");

var app = express();

req.body
app.use(bodyparser.urlencoded({ extended: false }));
app.use(bodyparser.json());

//app.use(functions.passwdCrypto);
app.use("/user", user);

app.listen(conf.port, function() {
  console.log("app listening on port " + conf.port + "!");
});
var connection = require('./../conf');
module.exports.authenticate=function(req,res){
    var email=req.body.email;
    var password=req.body.password;
    connection.query('SELECT * FROM user WHERE email = ?',[email], function (error, results, fields) {
      if (error) {
          res.json({
            status:false,
            message:'there are some error with query'
            })
      }else{
        if(results.length >0){
            if(password==results[0].password){
                res.json({
                    status:true,
                    message:'successfully authenticated'
                })
            }else{
                res.json({
                  status:false,
                  message:"Email and password does not match"
                 });
            }

        }
        else{
          res.json({
              status:false,    
            message:"Email does not exits"
          });
        }
      }
    });
}
var connection = require('../conf');
module.exports.register=function(req,res){
    var today = new Date();
    var user={
        "name":req.body.name,
        "email":req.body.email,
        "password":req.body.password,
        "created_at":today,
        "updated_at":today
    }
    connection.query('INSERT INTO user SET ?',user, function (error, results, fields) {
      if (error) {
        res.json({
            status:false,
            message:'there are some error with query'
        })
      }else{
          res.json({
            status:true,
            data:results,
            message:'user registered sucessfully'
        })
      }
    });
}
var mysql = require("mysql");
var connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "farmbot",
});

connection.connect(function(err) {
  if (!err) {
    console.log("Database is connected");
  } else {
    console.log("Error while connecting with database");
  }
});
module.exports = connection;

/*If I comment out the code below, I can execute the login / register API*/
/*Without commenting out, can only perform CRUD on the database*/
module.exports = {
  db: {
    host: "localhost",
    user: "root",
    password: "1234",
    database: "farmbot"
  },
  port: 3000
};
user.js(模型)

user.js(路由)

conf.js

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var authenticateController = require("./controllers/authenticate-controller");
var registerController = require("./controllers/register-controller");

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

app.post("/api/register", registerController.register);
app.post("/api/authenticate", authenticateController.authenticate);
app.listen(3000);
var bodyparser = require("body-parser"); 
var express = require("express");

var conf = require("./conf");
var functions = require("./functions");
var user = require("./routes/user");

var app = express();

req.body
app.use(bodyparser.urlencoded({ extended: false }));
app.use(bodyparser.json());

//app.use(functions.passwdCrypto);
app.use("/user", user);

app.listen(conf.port, function() {
  console.log("app listening on port " + conf.port + "!");
});
var connection = require('./../conf');
module.exports.authenticate=function(req,res){
    var email=req.body.email;
    var password=req.body.password;
    connection.query('SELECT * FROM user WHERE email = ?',[email], function (error, results, fields) {
      if (error) {
          res.json({
            status:false,
            message:'there are some error with query'
            })
      }else{
        if(results.length >0){
            if(password==results[0].password){
                res.json({
                    status:true,
                    message:'successfully authenticated'
                })
            }else{
                res.json({
                  status:false,
                  message:"Email and password does not match"
                 });
            }

        }
        else{
          res.json({
              status:false,    
            message:"Email does not exits"
          });
        }
      }
    });
}
var connection = require('../conf');
module.exports.register=function(req,res){
    var today = new Date();
    var user={
        "name":req.body.name,
        "email":req.body.email,
        "password":req.body.password,
        "created_at":today,
        "updated_at":today
    }
    connection.query('INSERT INTO user SET ?',user, function (error, results, fields) {
      if (error) {
        res.json({
            status:false,
            message:'there are some error with query'
        })
      }else{
          res.json({
            status:true,
            data:results,
            message:'user registered sucessfully'
        })
      }
    });
}
var mysql = require("mysql");
var connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "farmbot",
});

connection.connect(function(err) {
  if (!err) {
    console.log("Database is connected");
  } else {
    console.log("Error while connecting with database");
  }
});
module.exports = connection;

/*If I comment out the code below, I can execute the login / register API*/
/*Without commenting out, can only perform CRUD on the database*/
module.exports = {
  db: {
    host: "localhost",
    user: "root",
    password: "1234",
    database: "farmbot"
  },
  port: 3000
};

您必须正确地重构它们。您只需要一次文件就可以开始了。为什么要用它两次

在一个文件中重构它们,而不是在不同的端口上侦听它们。完成后,您可以向我们显示代码,以便我们可以在出现问题时进一步修复它

从index.js开始,将app.js与之合并,但要小心一点。我认为自己做这件事你会从中学到很多东西