Javascript 将函数的特定变量导出到另一个文件
我有一个查询,就是如何将下面的文件(imageController.js)中的“userURL”变量发送到另一个文件(contactController.js)。我只想发送一个“userURL”变量,而不是整个函数的“resize”。我曾尝试使用“module.exports”来解决这个问题,但我遇到的问题是“module.exports”发送整个函数“resize”而不是“userURL”变量。现在在第二个文件“contactController.js”中,我在console.log中提到了{userURL},但它只打印“您的结果未定义”。我只想将userURL从第一个文件imageController.js导出到第二个文件“contactController.js”Javascript 将函数的特定变量导出到另一个文件,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我有一个查询,就是如何将下面的文件(imageController.js)中的“userURL”变量发送到另一个文件(contactController.js)。我只想发送一个“userURL”变量,而不是整个函数的“resize”。我曾尝试使用“module.exports”来解决这个问题,但我遇到的问题是“module.exports”发送整个函数“resize”而不是“userURL”变量。现在在第二个文件“contactController.js”中,我在console.log中提到了{
您需要导出需要访问的项目
exports.userURL ='vikivivki'; //exporting here along with rezise as well
文件imageController.js
//imageController.js
exports.userURL ='vikivivki'; //exporting here along with rezise as well
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'); // Please have a check on location if they are in the same directory
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)
}
在您的contactController.js中
//imageController.js
exports.userURL ='vikivivki'; //exporting here along with rezise as well
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'); // Please have a check on location if they are in the same directory
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'以及如何在另一个文件@joyBlanksconst{userURL}=require('./imageController.js')中仅导入此变量,使其正常工作?让我知道你需要更多的帮助吗?它正在工作,但打印未定义