【发布时间】:2019-09-08 19:04:12
【问题描述】:
我有一个查询,这就是我如何将“userURL”变量从下面的文件(imageController.js)发送到另一个文件(contactController.js)。一件事我只想发送“userURL”变量而不是整个函数“resize”。我尝试通过使用“module.exports”来解决这个问题,但我遇到的问题是“module.exports”发送整个函数“resize”而不是“userURL”变量。现在在第二个文件“contactController.js”中,我在 console.log 中提到了 {userURL},但它只打印“你的结果未定义”。我只想将 userURL 从第一个文件 imageController.js 导出到第二个文件“contactController.js”。
imageController.js
exports.resize = async (req, res, next) => {
if(!req.file){
next()
return
}
const extension = req.file.mimetype.split('/')[1]
req.body.userFile = `${uuid.v4()}.${extension}`
const photo = await jimp.read(req.file.buffer)
await photo.resize(500, jimp.AUTO)
await photo.write(`./public/uploads/${req.body.userFile}`)
const userimg = photo;
console.log(`./public/uploads/${req.body.userFile}`)
cloudinary.config({
cloud_name: 'katal',
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET
});
cloudinary.v2.uploader.upload(`./public/uploads/${req.body.userFile}`,{
transformation: { width:100, height:100}}, function(error, result) {
console.log('please show result\t' +JSON.stringify(result))
const userURL ='vikivivki'
res.send(result.secure_url)
console.log(result.secure_url)
})
}
contactController.js
const mongoose = require('mongoose')
const Contact = mongoose.model('Contact')
const moment = require('moment-timezone')
const {userURL} = require('./imageController')
exports.contactForm = (req, res) => {
res.render('contact')
}
exports.usermessage = async(req, res) => {
req.body.name = req.body.name
req.body.email = req.body.email
req.body.message = req.body.message
const ind = moment.tz(Date.now(), "Asia/Calcutta")
const newContact = new Contact(req.body)
await newContact.save()
console.log('your result',userURL)
let showResult1 = JSON.stringify(newContact)
let showResult = JSON.parse(showResult1)
res.send(showResult.message)
}
【问题讨论】:
-
exports.userURL ='vikivivki'
-
我如何在另一个文件中只导入这个变量@joyBlanks
-
const {userURL} = require('./imageController.js')
-
成功了吗?让我知道你需要更多帮助吗?
-
它工作正常,但打印未定义
标签: javascript node.js ecmascript-6