无法从节点js模块导出变量

首先,我已经检查了Stack Overflow上关于这个的所有问题。

我试图将变量str导出到另一个模块,但在将其导出到另一个文件中后,它显示为undefined

但是如果我在函数外部更新变量的值,那么导出就可以正常工作。

我有一个函数,代码在文件Excel.js中

var str='abc';
wb.xlsx.readFile(filePath).then(function()

{

    var sh = wb.getWorksheet("Sheet1");

    console.log("YOUR LECTURE IS",sh.getRow(goingSlot+1).getCell(DAY+1).value);
 //console works fine
   str="YOUR LECTURE IS"+sh.getRow(goingSlot+1).getCell(DAY+1).value;
        //the assignment here leads to undefined after exporting
    }

str="something";
//this successfully exports the value as something 

然后我用语法将它导出到我的主文件中

exports.str=str; 

以防您需要查看主文件的代码

主文件的代码是

const express=require('express');
const app=express();
const myle=require('./readingExcel.js');
const res=myle.name;
console.log(res); 
//CONSOLE SHOWS UNDEFINED

转载请注明出处:http://www.lsql.net/article/20230507/1149360.html