我想使用登录方法,但是在定义和导入时,浏览器未返回函数
{{代码:-1,msg:“登录名不是函数”,错误:500,errorMsg:“登录名不是函数”}]
我是初学者,我的一般逻辑是从第一段代码中调用登录。登录名写在代码的第二部分,然后第二部分将调用SQL第三部分的函数
const express = require('express')
const Result=require('../models/Result')
const login=require('../services/user')
// const debug = require('../utils/constant').debug
const router = express.Router()
router.post('/login', function(req, res) {
console.log('/user/login', req.body)
// debug && console.log(sql);
const {username,password}=req.body
login(username,password).then(user=>{
if(!user||user.length ===0){
new Result('登陆成功').success(res)
}else{
new Result('登陆失败').fail(res)
}
})
})
module.exports = router
'./ services / user'enter image description here
const {querySql}=require('../db')
return function login(username,password){
querySql("select * from admin_user where username='${username}' and password='${password}'").then(results =>{
}).catch(err =>{
console.log(err);
})
}
module.exports={
}
和'./db/index.js'
const mysql =require('mysql')
const config =require('./config')
function connect() {
return mysql.createConnection({
host:config.host,
user:config.user,
password:config.password,
database:config.database,
multipleStatements: true
})
}
function querySql(sql){
const conn =connect()
return new Promise((resolve,reject)=>{
try{
conn.query(sql,(err,results) => {
if(err){
reject(err)
}else{
resolve(results)
}
})
}catch(e){
reject(e)
}finally{
conn.end()
}
})
}
module.exports={
connect,
querySql
}
TypeError:querySql不是函数登录时(/Users/dujinyang/admin-imooc-node/services/user.js:3:3)在对象。 (/用户/dujinyang/admin-imooc-node/services/user.js:8:17)在Module._compile(内部/模块/cjs/loader.js:1158:30)在Object.Module._extensions..js(内部/模块/cjs/loader.js:1178:10)在Module.load(internal / modules / cjs / loader.js:1002:32)在Function.Module._load(内部/模块/cjs/loader.js:901:14)在Module.require(internal / modules / cjs / loader.js:1044:19)在要求时(内部/模块/cjs/helpers.js:77:18)在对象。 (/用户/dujinyang/admin-imooc-node/router/user.js:3:17)在Module._compile(internal / modules / cjs / loader.js:1158:30)
NodeJS中的函数已导出,未返回。
function login(username,password){
querySql("select * from admin_user where username='${username}' and password='${password}'")
.then(results =>{})
.catch(err =>{ console.log(err); })
}
exports.login = login();
然后
const {login} = require('../services/user');