javascript - 如何运行在其他文件中定义的 get 和 post 等应用程序功能

标签 javascript node.js express

我已经创建了一个文件来创建 express 中间件应用程序。

我已经在一个单独的文件中定义了应用函数。

如何运行应用程序功能。

我的 app.js 文件

const express = require('express')
const cors = require('cors')
const mysql = require('mysql')
const bodyParser = require('body-parser')
const users = require('./users')
const app = express()
app.use(cors());
app.use(bodyParser.json());
app.options('*',cors());

app.listen('3001' ,(err)=>{
  if(err)
  console.log(err);
  else{
    console.log('server is running on port 3001');
  }
})
module.exports.app = app

我的其他文件有以下内容,假设它是 my-other-file.js

const app = require('./app')

//get request for all checklist details
app.get('/getallusers',async (req,res)=>{
  let sql =query('SELECT', 'users','user_deleted = 0', 'firstname,lastname,name,email,photo,admin')
  var results =await  dbQuery(res,sql)
  console.log(results);
  res.status(200).json({
    status: 200,
    message : `Found ${results.length} users`,
    users: results
  })
})

最佳答案

问题出在您的app.js 文件中,您正在执行命名 导出,即

module.exports.app = app;

这意味着当你导入时你需要明确:

const app = require('./app').app;

相反,如果您将 app 作为默认导出,即

module.exports = app

那么你不需要改变你在 my-other-file 中需要文件的方式。

关于javascript - 如何运行在其他文件中定义的 get 和 post 等应用程序功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55259633/

相关文章:

javascript - ExpressJS 是否遵循 MVC 模式?

javascript - Jquery 中选择选项的更改功能问题

javascript - Passport.use 不是一个函数

javascript - JQUERY/JAVASCRIPT - 从 .find 命令中获取多个值

javascript - 将 Active Class 添加到当前列表菜单项而不在 marko 中使用客户端 JS/jquery?

javascript - Order By (alias) then Order by second sequelize

javascript - Node Js Express JS 错误处理麻烦

node.js - 如何通过本地网络与 Electron/ express 应用程序共享数据?

javascript - 使用 jQuery 从 URL 读取#hash

javascript - 响应式 d3 漏斗