javascript - 如何运行在其他文件中定义的 get 和 post 等应用程序功能
问题描述
我创建了一个创建快速中间件应用程序的文件。
我已经在一个单独的文件中定义了 app 函数。
如何运行应用程序功能。
我的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
.
推荐阅读
- swift - UISearchController 在查询为空时隐藏 tableView
- ios - 如果我使用 iOS 苹果商店的唯一设备 ID 将拒绝我的应用程序?最佳选择
- javascript - 从 HTML 表中删除一行后,如何存储单元格的值?
- jquery - 地理位置有效,只是从 onclick 运行时无效
- c# - 如何创建数组?
- java - Java:使用供应商在运行时传递值
- azure - 与 VNet 集成时,从 azure 应用服务读取 azure 存储 blob 返回 403(预览版)
- java - 对于持久底页,如何实现从展开状态到半展开状态的手势(向下滑动)?
- python - 从另一台计算机运行 python 脚本而不安装包/设置环境?
- javascript - 当 React 中的上下文发生变化时获取数据