Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将函数的特定变量导出到另一个文件_Javascript_Node.js_Ecmascript 6 - Fatal编程技术网

Javascript 将函数的特定变量导出到另一个文件

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中提到了{

我有一个查询,就是如何将下面的文件(imageController.js)中的“userURL”变量发送到另一个文件(contactController.js)。我只想发送一个“userURL”变量,而不是整个函数的“resize”。我曾尝试使用“module.exports”来解决这个问题,但我遇到的问题是“module.exports”发送整个函数“resize”而不是“userURL”变量。现在在第二个文件“contactController.js”中,我在console.log中提到了{userURL},但它只打印“您的结果未定义”。我只想将userURL从第一个文件imageController.js导出到第二个文件“contactController.js”


您需要导出需要访问的项目

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')中仅导入此变量,使其正常工作?让我知道你需要更多的帮助吗?它正在工作,但打印未定义