exported function unavailable when declared globally












2















When i load my custom made file globally, it is not loaded properly and returns an empty object:



const msgq = require('../db/message_queue.js');

var getList = async(url) => {
console.log(msgq);
...
}


However, if i load locally inside the function, it works as I expected. What is the reason behind this?:



var getList = async(url) => {
const msgq = require('../db/message_queue.js');
console.log(msgq);
...
}


Though, the weird thing is that in other parts of my code, i declared it globally and used it with no problem...



running on ExpressJS










share|improve this question

























  • With the first line, what happens if you run console.log(msgq); directly under the line that requires '../db/message_queue.js'?

    – JO3-W3B-D3V
    Jan 2 at 14:10











  • returns an emtpy object {}

    – J.S.C
    Jan 2 at 14:51











  • Have you had a look at similar issues such as this?

    – JO3-W3B-D3V
    Jan 2 at 15:03
















2















When i load my custom made file globally, it is not loaded properly and returns an empty object:



const msgq = require('../db/message_queue.js');

var getList = async(url) => {
console.log(msgq);
...
}


However, if i load locally inside the function, it works as I expected. What is the reason behind this?:



var getList = async(url) => {
const msgq = require('../db/message_queue.js');
console.log(msgq);
...
}


Though, the weird thing is that in other parts of my code, i declared it globally and used it with no problem...



running on ExpressJS










share|improve this question

























  • With the first line, what happens if you run console.log(msgq); directly under the line that requires '../db/message_queue.js'?

    – JO3-W3B-D3V
    Jan 2 at 14:10











  • returns an emtpy object {}

    – J.S.C
    Jan 2 at 14:51











  • Have you had a look at similar issues such as this?

    – JO3-W3B-D3V
    Jan 2 at 15:03














2












2








2








When i load my custom made file globally, it is not loaded properly and returns an empty object:



const msgq = require('../db/message_queue.js');

var getList = async(url) => {
console.log(msgq);
...
}


However, if i load locally inside the function, it works as I expected. What is the reason behind this?:



var getList = async(url) => {
const msgq = require('../db/message_queue.js');
console.log(msgq);
...
}


Though, the weird thing is that in other parts of my code, i declared it globally and used it with no problem...



running on ExpressJS










share|improve this question
















When i load my custom made file globally, it is not loaded properly and returns an empty object:



const msgq = require('../db/message_queue.js');

var getList = async(url) => {
console.log(msgq);
...
}


However, if i load locally inside the function, it works as I expected. What is the reason behind this?:



var getList = async(url) => {
const msgq = require('../db/message_queue.js');
console.log(msgq);
...
}


Though, the weird thing is that in other parts of my code, i declared it globally and used it with no problem...



running on ExpressJS







javascript express require






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 2 at 15:56









Armel

1,206920




1,206920










asked Jan 2 at 14:04









J.S.CJ.S.C

144




144













  • With the first line, what happens if you run console.log(msgq); directly under the line that requires '../db/message_queue.js'?

    – JO3-W3B-D3V
    Jan 2 at 14:10











  • returns an emtpy object {}

    – J.S.C
    Jan 2 at 14:51











  • Have you had a look at similar issues such as this?

    – JO3-W3B-D3V
    Jan 2 at 15:03



















  • With the first line, what happens if you run console.log(msgq); directly under the line that requires '../db/message_queue.js'?

    – JO3-W3B-D3V
    Jan 2 at 14:10











  • returns an emtpy object {}

    – J.S.C
    Jan 2 at 14:51











  • Have you had a look at similar issues such as this?

    – JO3-W3B-D3V
    Jan 2 at 15:03

















With the first line, what happens if you run console.log(msgq); directly under the line that requires '../db/message_queue.js'?

– JO3-W3B-D3V
Jan 2 at 14:10





With the first line, what happens if you run console.log(msgq); directly under the line that requires '../db/message_queue.js'?

– JO3-W3B-D3V
Jan 2 at 14:10













returns an emtpy object {}

– J.S.C
Jan 2 at 14:51





returns an emtpy object {}

– J.S.C
Jan 2 at 14:51













Have you had a look at similar issues such as this?

– JO3-W3B-D3V
Jan 2 at 15:03





Have you had a look at similar issues such as this?

– JO3-W3B-D3V
Jan 2 at 15:03












1 Answer
1






active

oldest

votes


















0














try let instead of const



    let msgq = require('../db/message_queue.js');





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54007741%2fexported-function-unavailable-when-declared-globally%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    try let instead of const



        let msgq = require('../db/message_queue.js');





    share|improve this answer




























      0














      try let instead of const



          let msgq = require('../db/message_queue.js');





      share|improve this answer


























        0












        0








        0







        try let instead of const



            let msgq = require('../db/message_queue.js');





        share|improve this answer













        try let instead of const



            let msgq = require('../db/message_queue.js');






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 2 at 16:29







        user10789862







































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54007741%2fexported-function-unavailable-when-declared-globally%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

            Npm cannot find a required file even through it is in the searched directory