2
votes

I am using Nodejs for writing some sample programs. I am facing an issue with calling Javascript files from within Nodejs. Say I have 3 .js files: A.js, B.js, C.js. A.js is written in Node. B.js and C.js are written in pure Javascript. Now i need to call a function b() present in B.js from A.js. So I eval() B.js and export the method b(). This works properly. But the issue is when my function b() in B.js calls a function c() in C.js.

B.js:

function b()
{
    console.log('In function b');
    c();
}

C.js:

function c()
{
    console.log('In function c');
}

Just to add on to the question. I have a var in B.js: var abc, in the global space of B.js. In C.js I can reference to it as just: var a = abc; How to make sure my C.js can have access to my variable abc?

How do i make sure the dependancy is resolved? Any help would be appreciated. Thanks!!!

1
What's the difference between Node and "plain JavaScript"? - Bergi
What do you mean by pure javascript? Nodejs is pure javascript, and more. Do you mean that the functions tries to access browser's window object? - Juzer Ali
Since NodeJs is working in server side, It's follow some syntax to refer global variable and functions exist in different file. Please go through like nodetuts.com and then change your file. I hope, there is no need to do more code changes on this, if you are done the code with more functions. Give more attention while handling prototype in your existing code. - HILARUDEEN S ALLAUDEEN

1 Answers

4
votes

You should use modules in Node.js. It very simple, just read the docs.

B.js

var c = require('./C');

function b() {
    console.log('In function b');
    c();
}

C.js

module.exports = function() {
    console.log('In function c');
}