i have an asp.net mvc app and i am trying to move all of my javascript out into js files. right now i have one called sharedfunctions.js which is used all over the place.
the issue is that if i move some code into a js file that is calling a method in the sharedfunctions.js file, it no longer seems to work.
what is the best way to be able to factor out common code among js files and allow them to actually work properly ?
As long as all the .js files are referenced on the page inquestion, functions/variables in all them will be accessible by any others once the page has loaded.
I'm highlighting that last bit because it may well be the root cause of your problems. It may be that the order that the .js files are loading is wrong.
If you have some javascript that executes immediately (e.g. it is not triggered by a page event), then it may well start executing before your sharedfunctions.js file has been included on the page. In this case, the function in sharedfunctions.js literally won't exist at the time the other javascript executes.
See if you can look at the order of things to eliminate these problems. For example, try and ensure your sharedfunctions.js loads as the first script file on the page.
IMHO, this is preferable to trying to hack your existing js files to load the contents of other js files directly.
Is the issue that you think your overwriting your functions with bogus ones? If thats the case before you define a function you can check to see if you already have it defined.
if(typeof yourFunctionName == 'function')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With